Search code examples
pygtk

pygtk3 checking does signal exist


how can I learn this before connecting anything.

example

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

Solution

  • def does_signal_exist(gtkWidgetObj, sigTag):
        try:
            gtkWidgetObj.emit(sigTag)
            return True
        except:
            return "unknown signal name" not in format_exc():