Ich habe ein Python-Objekt erstellt, aber ich möchte Signale senden. Ich habe es von gobject.GObject geerbt, aber es scheint keine Möglichkeit zu geben, ein neues Signal auf meinem Objekt zu erzeugen.Wie erstelle ich ein neues Signal in pygtk
7
A
Antwort
11
Sie können auch Signale innerhalb der Klassendefinition definieren:
class MyGObjectClass(gobject.GObject):
__gsignals__ = {
"some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (object,)),
}
Der Inhalt des Tupel sind die gleichen wie die letzten drei Argumente gobject.signal_new
.
4
Hier ist, wie:
import gobject
class MyGObjectClass(gobject.GObject):
...
gobject.signal_new("signal-name", MyGObjectClass, gobject.SIGNAL_RUN_FIRST,
None, (str, int))
Wo die zweitletzte Argument ist der Rückgabetyp und das letzte Argument ein Tupel von Argumenttypen ist.
2
Wenn Sie Kiwi Nutzung stehen zur Verfügung here Sie können einfach tun:
from kiwi.utils import gsignal
class MyObject(gobject.GObject):
gsignal('signal-name')
Verwandte Themen
- 1. Wie erstelle ich ein neues C++ - Projekt in XCode?
- 2. Wie erstelle ich ein neues Objekt in JavaScript?
- 3. Wie erstelle ich ein neues Projekt in Android Studio?
- 4. Wie erstelle ich ein Leinwandauswahlwerkzeug?
- 5. Erstelle ein neues Paket in IntelliJ
- 6. ASP.NET Application Services - Wie erstelle ich ein neues Benutzerkonto?
- 7. Wie erstelle ich ein neues Bild mit Rahmen?
- 8. Wie erstelle ich ein neues Wörterbuch mit umgekehrten Tasten?
- 9. Erstelle ein neues Fenster mit jquery
- 10. Wie erstelle ich ein Verzeichnis in Emacs?
- 11. pygtk wie in meinem pygtk GUI
- 12. Erstelle ein neues Wiki mit Metadaten
- 13. Wie entwickle und erstelle ich ein eigenständiges PyGTK-Anwendungs-Bundle für MacOS mit nativen Widgets?
- 14. Wie erstelle ich ein lokales Benutzerprofil für ein neues Benutzerkonto in Windows?
- 15. Qt: C++: Wie erstelle ich ein SIGNAL/SLOT bei der Auswahl einer Zeile in QTableView
- 16. Wie lösche ich delete-event in pygtk?
- 17. Qt5 neues Signal zu Lambda-Verbindungen Speicherleck
- 18. Django: Wie kann ich feststellen, ob das post_save-Signal auf ein neues Objekt triggert?
- 19. Wie erstelle ich ein Kartensymbol?
- 20. Wie erstelle ich ein PDF?
- 21. Wie erstelle ich ein jqGrid
- 22. Wie erstelle ich ein Frühlingsprojekt?
- 23. Wie erstelle ich ein Sternenbewertungssystem?
- 24. Wie erstelle ich ein Singleton?
- 25. Wie führe ich eine unendliche while-Schleife in pygtk aus?
- 26. Wie erstelle ich ein neues (persistentes) Firefox-Profil mit Selenium in Python?
- 27. Wie erstelle ich ein neues Napa-Content-Add-In, das auf Powerpoint Online läuft?
- 28. Wie erstelle ich ein neues Projekt in Texas Instruments Code Composer?
- 29. Wie erstelle ich ein neues Meteor-Projekt in einem bestehenden Verzeichnis?
- 30. Wie erstelle ich ein JSON-Array