我正在使用pygtk然后我使用gtk.Combobox当我尝试连接chenged事件它的工作,但当我尝试选择已经选择的项目时,更改的方法不会触发,因为选择没有改变..
所以我的问题是如何连接已更改的事件,即使选择未提前更改
答案 0 :(得分:1)
嗯......改变后的事件意味着所谓的选择已经改变了。
我建议您尝试收听popdown
信号,我相信在菜单关闭时会发出信号。
如果这不起作用,也许notify :: popup-shown可以工作。 ComboBox有一个名为popup-shown
的属性,因此在该属性发生变化时收听通知,然后检查它是否是从TRUE
到FALSE
的转换,应该会有所帮助:
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%确定破折号被映射到下划线;你必须测试这个。