Gtk 开关激活信号未触发
我正在尝试在应用程序中使用 Gtk.Switch 小部件,但“激活”信号不会通过点击触发。 当通过键盘使用小部件时,通过按返回/空格键可以正常工作,但单击不会触发“激活”事件。
任何想法要做什么才能注册 Gtk.Switch 上的点击信号
from gi.repository impoty Gtk, GObject
def my_callback(widget, data=None):
print 'Event Fired'
switch = Gtk.Switch()
window = Gtk.Window()
window.add(switch)
switch.connect('activate', my_callback)
window.show_all()
GObject.MainLoop().run()
I'm trying to use a Gtk.Switch widget in an app but "activate" signal is not firing by clicks.
It works fine when using the widget with keyboard by hitting reture/space key on it but clicks don't fire the "activate" event.
Any Idea what is to be done in order to register signals for clicks on Gtk.Switch
from gi.repository impoty Gtk, GObject
def my_callback(widget, data=None):
print 'Event Fired'
switch = Gtk.Switch()
window = Gtk.Window()
window.add(switch)
switch.connect('activate', my_callback)
window.show_all()
GObject.MainLoop().run()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,更好的方法是连接到notify::active事件。
Actually, a better way is connect to the notify::active event.
好吧,在环顾了几天之后,我在这里提出了这个问题,并在 5 分钟后找到了答案。
要注册鼠标单击,必须使用“按钮按下事件”信号而不是“激活”信号。
可能会帮助有类似问题的人。
GTK 需要更好的文档。
Ok, after looking around for a couple of days I asked the question here and found the answer 5 minutes later.
To register mouse click, 'button-press-event' signal has to be used instead of 'activate' signal.
Might help someone with a similar problem.
GTK needs better documentation.