【发布时间】:2010-05-07 18:27:40
【问题描述】:
我正在使用 pygtk,然后我在尝试连接 chenged 事件时使用了 gtk.Combobox,但当我尝试选择已选择的项目时,更改的方法不会触发,因为选择没有改变..
所以我的问题是如何连接更改的事件,即使选择没有提前更改 tnx
【问题讨论】:
我正在使用 pygtk,然后我在尝试连接 chenged 事件时使用了 gtk.Combobox,但当我尝试选择已选择的项目时,更改的方法不会触发,因为选择没有改变..
所以我的问题是如何连接更改的事件,即使选择没有提前更改 tnx
【问题讨论】:
嗯... changed 事件意味着它的名称,即选择已更改。
我建议尝试收听@987654321@ 信号,我相信它会在菜单关闭时发出。
如果这不起作用,也许 notify::popup-shown 可以工作。 ComboBox 有一个名为@987654322@ 的属性,因此在该属性更改时监听通知,然后检查它是否是从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% 确定破折号是否映射为下划线;您必须对此进行测试。
【讨论】: