在QListView中选择项目的信号是什么



我使用

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())

最新更新