Gtk 开关激活信号未触发

发布于 2024-11-30 07:38:33 字数 408 浏览 4 评论 0原文

我正在尝试在应用程序中使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦回旧景 2024-12-07 07:38:33

实际上,更好的方法是连接到notify::active事件。

Actually, a better way is connect to the notify::active event.

装迷糊 2024-12-07 07:38:33

好吧,在环顾了几天之后,我在这里提出了这个问题,并在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文