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

Daw*_*ang 1 python selection signals-slots pyqt4 qlistview

我用

QObject.connect(self.image_list, QtCore.SIGNAL('clicked(QModelIndex)'), self.on_row_changed)
Run Code Online (Sandbox Code Playgroud)

最初,但我发现当我按下右键时,on_row_changed即使项目是灰色的(不是焦点)也会被调用。我应该连接哪个信号?

我通过对qt4.8的文档搜索,信号activated (const QModelIndex &index )void indexesMoved (const QModelIndexList &indexes)不工作。

因此,当我尝试根据焦点项目执行某些操作时,我应该使用哪个信号,当我使用鼠标或向上/向下箭头移动单选项目时,将正确调用回调?

ekh*_*oro 5

对于 a QListView,您应该连接到其选择模型信号之一。要更改当前项目以及选择,请执行以下操作:

    self.image_list.selectionModel().currentChanged.connect(self.on_row_changed)
    ...

    def on_row_changed(self, current, previous):
        print('Row %d selected' % current.row())
Run Code Online (Sandbox Code Playgroud)