2017-08-25 3 views
-1

Wie kann ich dies vor dem Anschließen von etwas lernen.pygtk3 Überprüfung gibt Signal existiert

Beispiel

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 

Antwort

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

Es ist ein wunderbares Werkzeug 'manual' oder 'reference' genannt. Suchen Sie nach dem Gtk-3.0-Handbuch, und klicken Sie auf Classes, und suchen Sie nach Gtk.Button. Suchen Sie nach Signals. Wenn nicht, können Sie das Gleiche für die Signale tun, die von vorherigen Objekten geerbt wurden.

Mit help(button oder sogar help(Gtk.Button) (in Python3, entweder in interaktiven oder in einem Programm), haben Sie Zugriff auf alle Methoden und viele andere Informationen über die Klasse und die Instanz.

Verwenden Sie das oben erwähnte Handbuch, überprüfen Sie das GiRepository-Modul - das sind Funktionen, die Sie verwenden können, um in Gtk, seine Klassen und Eigenschaften zu sehen.

Und Sie können nur prüfen, ob es funktioniert. Verwenden Sie try:/except: überprüfen, ob Sie tatsächlich auf das Signal/Ereignis verbinden können Sie interessiert sind

Verwandte Themen