2010-05-07 36 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