2010-10-07 12 views
9

¿Cómo puedo conectar una devolución de llamada de señal para cualquier tipo de cambio en el búfer de GtkEntry, incluido el carácter agregado, eliminado, texto pegado o cortado? He buscado en los documentos GtkWidget, GtkEntry y GtkEntryBuffer sin encontrar esto.Señal de cambio de texto de GtkEntrada

Nota: si mi pregunta estaba mal redactada, piensa en el evento del DOM HTML change, excepto que es despedido por lucro en cada sola pulsación de tecla o evento que causa un cambio, y no sólo comprueba en unfocus.

Respuesta

21

No es la señal changed (de la interfaz de GtkEditable):

El :: señal cambiado se emite al final de una sola operación visible para el usuario sobre el contenido de la GtkEditable.

Por ejemplo, una operación de pegado que reemplaza el contenido de la selección causará solo una emisión de señal (aunque se implemente eliminando primero la selección, luego insertando el nuevo contenido, y puede causar :: notificar :: texto múltiple señales para ser emitidas).

(He descubierto que mediante la comprobación de la sección implemented interfaces.)

Esto indica que también puede conectarse a la señal de la text propertynotify (en concreto, notify::text).

Existe también la señal de preedit-changed:

Si se utiliza un método de entrada, el texto escrito no inmediatamente se ha comprometido a la memoria intermedia. Entonces, si está interesado en el texto, conéctese a esta señal.

+0

Aaah, entonces es de 'GtkEditable'. ¡Gracias! –

+0

@Delan Azabani - sin preocupaciones ... Agregué una nota sobre la señal 'notify :: text' también. – detly

Cuestiones relacionadas