pygtk3 检查信号是否存在
pygtk3 checking does signal exist
在连接任何东西之前我如何学习这个。
例子
does_signal_exist(widget, signal):
pass
button = Gtk.Button()
does_signal_exist(button, "clicked") # returns True
does_signal_exist(button, "hello") # returns False
does_signal_exist(button, "unboxed") # returns False
does_signal_exist(button, "button-press-event") # returns True
有一个神奇的工具叫做 'manual' or 'reference'. Look for the Gtk-3.0 manual, and click on Classes, and look for Gtk.Button. Look for Signals。如果不存在,您可以对从以前的对象继承的信号执行相同的操作。
使用 help(button
甚至 help(Gtk.Button)
(在 Python3 中,无论是在交互中还是在程序中),您都可以访问所有方法,以及有关 class 和实例。
使用上面提到的手册,检查 GiRepository 模块 - 这些是您可以用来查看 Gtk 内部的函数,它的 classes 和属性。
您可以检查它是否有效:使用 try:/except:
检查您是否真的可以连接到您感兴趣的 signal/event。
def does_signal_exist(gtkWidgetObj, sigTag):
try:
gtkWidgetObj.emit(sigTag)
return True
except:
return "unknown signal name" not in format_exc():
在连接任何东西之前我如何学习这个。
例子
does_signal_exist(widget, signal):
pass
button = Gtk.Button()
does_signal_exist(button, "clicked") # returns True
does_signal_exist(button, "hello") # returns False
does_signal_exist(button, "unboxed") # returns False
does_signal_exist(button, "button-press-event") # returns True
有一个神奇的工具叫做 'manual' or 'reference'. Look for the Gtk-3.0 manual, and click on Classes, and look for Gtk.Button. Look for Signals。如果不存在,您可以对从以前的对象继承的信号执行相同的操作。
使用 help(button
甚至 help(Gtk.Button)
(在 Python3 中,无论是在交互中还是在程序中),您都可以访问所有方法,以及有关 class 和实例。
使用上面提到的手册,检查 GiRepository 模块 - 这些是您可以用来查看 Gtk 内部的函数,它的 classes 和属性。
您可以检查它是否有效:使用 try:/except:
检查您是否真的可以连接到您感兴趣的 signal/event。
def does_signal_exist(gtkWidgetObj, sigTag):
try:
gtkWidgetObj.emit(sigTag)
return True
except:
return "unknown signal name" not in format_exc():