2016-01-23 42 views
0

我制作了一个从QTreeWidget继承并成功创建实例并将其添加到选项卡控件的窗口小部件。不过,我试图捕获itemDoubleClicked信号,但失败了。我试图将连接语句放在具有选项卡控件的窗体中,它没有发出信号,然后将连接放入我的自定义窗口小部件中,也失败了。所以,不知道如何连接到在运行时创建的树部件。在运行时创建的QTreeWidget无法发出itemDoubleClicked信号

从我的自定义QTreeWidget类中: QtCore.QObject.connect(个体经营,QtCore.SIGNAL( 'itemDoubleClicked(QTreeWidgetItem,INT)'),self.edit_treeitem)

或从标签控件中:

QtCore.QObject.connect(self.mytree, QtCore.SIGNAL('itemDoubleClicked(QTreeWidgetItem, int)'), self.edit_treeitem) 

任何人都可以帮忙吗?

回答

0

使用信号连接的新风格:

self.mytree.itemDoubleClicked.connect(self.edit_treeitem) 
+0

谢谢!那是做的。我只是感到沮丧,因为每个文档都说QtCore.QObject.connect是连接这个信号的方式,我的印象是'新'的方式,但显然这是有效的......真的希望你能解释为什么...无论如何,thnx –

+0

@ForComment不幸的是很多教程等都过时了。 'QObject.connect'方式是旧方式,似乎相当挑剔,人们常常难以使其工作。我怀疑在原始代码中定义信号的字符串有问题,但是很久以前就停止尝试调试这些信号了!切换到新风格更容易。有关新系统的详细信息,请参见[PyQt文档](http://pyqt.sourceforge.net/Docs/PyQt4/new_style_signals_slots.html)。 –

相关问题