我正在使用PyQt来创建GUI应用程序.在从QTableView继承的视图中,需要检测用户双击行时选择的行.该表有排序,但没有编辑.
我该怎么做?
注意 - 尝试了doubleClicked(int)信号.它是由鼠标按钮发出的,而不是由数据单元发出的,所以它从未被触发过.:(
伊恩
lip*_*tto 17
我不明白 QTableView的doubleClicked信号具有签名
void doubleClicked ( const QModelIndex & index )
Run Code Online (Sandbox Code Playgroud)
如果连接该信号,则应获得正确的QModelIndex.
无需再使用SIGNAL:
self.your_table.doubleClicked.connect(your_function)
Run Code Online (Sandbox Code Playgroud)
"doubleClicked"继承自QAbstractItemView.
获得模型索引后(来自上面弗兰克的评论),您可以使用它来查找双击了哪个单元格。
def slotDoubleClicked(self, mi):
row = mi.row()
column = mi.column()
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用这些行和列值通过 table.setItem(row, column, newdata) 或其他表方法访问表