2016-01-23 39 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)。 –

相關問題