【问题标题】:QTreeWidget activate item signalsQTreeWidget 激活项目信号
【发布时间】:2010-04-14 16:23:55
【问题描述】:

当 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

我做错了什么或如何以正确的方式进行物品激活?

提前致谢, 塞尔吉

【问题讨论】:

    标签: qt pyqt qtreewidget


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 2017-09-25
      • 1970-01-01
      相关资源
      最近更新 更多