我使用
QObject.connect(self.image_list, QtCore.SIGNAL('clicked(QModelIndex)'), self.on_row_changed)
最初,但我发现当我按下右键时,即使项目是灰色的(而不是焦点),on_row_changed
也会被调用。我应该连接哪个信号?
我在文档中搜索qt4.8,但信号activated (const QModelIndex &index )
、void indexesMoved (const QModelIndexList &indexes)
不起作用。
因此,当我尝试基于焦点项目执行某些操作时,当我使用鼠标或上/下箭头移动单个选择项目时,我应该使用哪个信号来正确调用回调?
对于QListView
,您应该连接到其选择模型的一个信号。要更改当前项目和选择,请执行:
self.image_list.selectionModel().currentChanged.connect(self.on_row_changed)
...
def on_row_changed(self, current, previous):
print('Row %d selected' % current.row())