Capítulo 19. Temporizadores, Entrada/Salida y Funciones de Inactividad

Tabla de contenidos

19.1. Temporizadores
19.2. Monitorizar la Entrada/Salida
19.3. Funciones de Inactividad

19.1. Temporizadores

Puede que estes preguntándote cómo hacer que GTK haga algo útil mientras está dentro de la función main(). Bien, tienes varias opciones. Usando la siguiente función puedes crear un temporizador que será llamado en intervalos regulares (en milisegundos).

  source_id = gobject.timeout_add(interval, function, ...)
      

El argumento interval es el número de milisegundos entre llamadas sucesivas a tu función. El argumento function es la operación que deseas que se llame. Cualquier argumento tras el segundo se pasará a tu función como datos. El valor de retorno source_id es un entero, que se puede utilizar para eliminar el temporizador llamando a:

  gobject.source_remove(source_id)
      

También se puede parar el temporizador devolviendo cero o FALSE (falso) desde tu función. Obviamente esto significa que si quieres que el temporizador se siga llamando, debes devolver un valor distinto de cero, como TRUE (verdadero).

Tu función será algo parecido a:

  def timeout_callback(...):
      

El número de argumentos a tu función debe coincidir con el número de argumentos de datos especificados en timeout_add().