2010-05-07 33 views
0

我正在使用pygtk,然後我用gtk.Combobox當我嘗試連接上chenged事件它的工作,但是當我嘗試選擇一個已經選擇的項目,更改後的方法不會觸發因爲選擇不改變..pygtk combobox'changed'does not work

所以我的問題是如何連接的改變的情況下,甚至想到了選擇事先並不改變TNX

回答

1

嗯...更改的事件意味着只是它叫什麼,那選擇已經改變。

我建議試着聆聽popdown信號,我相信這是在菜單關閉時發出的。

如果這不起作用,也許notify :: popup-shown可以工作。組合框有一個名爲popup-shown屬性,所以聽的通知時,該屬性的更改,然後檢查它是否從TRUEFALSE過渡,應該有所幫助:

combo.connect("notify::popup-shown", popup_shown_callback) 

在回調,您可以訪問property value這樣(假設PyGTK 2.8或更高版本):

print "mycombo's popup-shown property is:", mycombo.props.popup_shown 

我不是100%確定短劃線被映射爲下劃線;你將不得不測試這個。

+0

感謝您的快速回復我讚賞它 我已經嘗試過一個相同的問題,它不會進入事件當我試圖選擇相同的項目 – joven 2010-05-07 08:59:19

+0

當我嘗試彈出它不起作用它不會進入事件/ function – joven 2010-05-07 09:07:11

+0

那位先生,你是什麼意思? – joven 2010-05-07 09:10:40