当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
我做错了什么或如何以正确的方式激活项目激活?
提前致谢, 哔叽
答案 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)