QTreeWidget激活项目信号

时间:2010-04-14 16:23:56

标签: qt pyqt qtreewidget

当QTreeWidget中的项目激活时,我需要执行一些操作,但是下面的代码不会给我预期的结果:

class MyWidget(QTreeWidget):

    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)
        self.connect(self, SIGNAL("activated(QModelIndex)"), self.editCell)


    def editCell(self, index):
        print index

 class MyWidget(QTreeWidget):

    def __init__(self, parent=None):
         super(MyWidget, self).__init__(parent)
         self.connect(self, SIGNAL("itemActivated(QTreeWidgetItem, int)"),
                      self.editCell)


     def editCell(self, item, column=0):
         print item

我做错了什么或如何以正确的方式激活项目激活?

提前致谢, 哔叽

1 个答案:

答案 0 :(得分:7)

如果您查看documentation您要查找的信号说明有星号。

QTreeWidget::itemActivated(QTreeWidgetItem *item, int column)

这意味着您的连接通话应如下所示:

self.connect(self, SIGNAL("itemActivated(QTreeWidgetItem*,int)"), self.editCell)

PyQt有一个很好的new API to connect signals(因为版本4.6我相信)。我建议使用它。

self.itemActivated.connect(self.editCell)