QTreeWidget 激活项目信号

标签 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

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

提前致谢, 哔叽

最佳答案

如果您查看 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)

关于QTreeWidget 激活项目信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639141/

相关文章:

MAC 上的 QT/C++ - 如何隐藏我的 Dock 图标?

qt - 如何使 QWidget alpha 透明

Raspberry Pi 的 QTMultimedia 编译

c++ - 从 qrc 文件加载 .qss 主题

python - 如何将图像放入QGraphicsView的滚动条区域?

Python:如何在 PyQt 中从 GroupBox 取消分配布局

c++ - 如何完全清除 QTreeWidget 选择?

python - 尝试在 Qt 中分配无父小部件时的奇怪行为

c++ - 如何在QTreeWidget中检索特定项目的mimeData?

c++ - 有没有办法检测 QTreeWidgetItem 中的所有子项何时都被标记为 'hidden' ?