He creado un objeto python, pero quiero enviarle señales. Lo hice heredar de gobject.GObject, pero no parece haber ninguna forma de crear una nueva señal en mi objeto.Cómo creo una nueva señal en pygtk
7
A
Respuesta
11
También puede definir señales dentro de la definición de clase:
class MyGObjectClass(gobject.GObject):
__gsignals__ = {
"some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (object,)),
}
El contenido de la tupla son los mismos que los tres últimos argumentos a gobject.signal_new
.
4
Aquí es cómo:
import gobject
class MyGObjectClass(gobject.GObject):
...
gobject.signal_new("signal-name", MyGObjectClass, gobject.SIGNAL_RUN_FIRST,
None, (str, int))
Cuando el segundo al último argumento es el tipo de retorno y el último argumento es una tupla de tipos de argumentos.
2
Si utiliza el kiwi disponible here sólo se puede hacer:
from kiwi.utils import gsignal
class MyObject(gobject.GObject):
gsignal('signal-name')
Cuestiones relacionadas
- 1. Obtener una nueva selección en un GtkTreeView durante la señal
- 2. ¿Cómo procesa python una señal?
- 3. Cómo trabajar con hilos en pygtk
- 4. Cómo capturar una señal en QML?
- 5. ¿Cómo instalar GTK +/PyGTK en OSX?
- 6. Cómo creo una nueva lista a partir de una plantilla de lista (Modelo de objetos cliente)
- 7. ¿Cómo creo una nueva base de datos en MongoDB usando PyMongo?
- 8. ¿Cómo creo una nueva clase en IntelliJ sin usar el mouse?
- 9. ¿Cómo creo una nueva aplicación Swing en la edición IntelliJ IDEA Community?
- 10. ¿Cómo creo una nueva combinación de bifurcación local y remota apropiada en EGit?
- 11. ¿Cómo creo la primera línea en una nueva hoja de cálculo de Google con la API?
- 12. ¿Cómo creo una nueva rama de Git a partir de una confirmación anterior?
- 13. Error al instalar PyGtk
- 14. pyGame dentro de una aplicación pyGTK
- 15. Cómo crear una nueva imagen en ClojureScript
- 16. ¿Cómo creo una clase Perl?
- 17. ¿Cómo creo una matriz JSON?
- 18. ¿Cómo creo una ruta aleatoria?
- 19. ¿Cómo creo una página 404?
- 20. ¿Cómo creo una tabla hash en Java?
- 21. ¿Cómo creo una clase en Javascript?
- 22. ¿Cómo creo una matriz heterogénea en Scala?
- 23. ¿Cómo creo una lista en Oz?
- 24. ¿Cómo creo una página base en WPF?
- 25. ¿cómo creo una matriz en jquery?
- 26. ¿Cómo creo una 'ruta' en wordpress?
- 27. ¿Cómo creo una vista en MySQL?
- 28. ¿Cómo creo una rama en SVN?
- 29. ¿Cómo creo una matriz vacía en YAML?
- 30. ¿Cómo creo una matriz 2D en Perl?