[pyar] PyQt QTextEdit + KeyPressEvent
Roberto Alsina
ralsina en netmanagers.com.ar
Sab Nov 27 18:56:42 ART 2010
On Saturday 27 November 2010 18:32:55 Martin Cerdeira wrote:
> Hola. Estoy tratando de atrapar el evento de keystroke en un widget
> QTextEdit. Intenté algo así:
>
> def on_txt_KeyPressEvent(self, event):
> print "key presssss'
>
> Es decir, intenté de la misma forma que atraparía el evento de
> textChanged, pero, con KeyPressEvent no funca. En la documentación veo
> que dice [virtual protected] ...
>
> Hay manera de atrapar ese evento?
El problema es que textChanged es una señal no un evento. En Qt eventos y
señales son cosas distintas.
Una señal la conectás a cuantas cosas quieras, en el mismo objeto o en otro.
Por eso vos podes conectar la señal textChanged del QTextEdit con el slot
on_txt_texhChanged que está definida en la ventana que lo contiene.
Los eventos sólo están relacionados con una función manejadora en el mismo
objeto, y se los reimplementa en una clase que herede QTextEdit (en este
caso).
O sea, create MyTextEdit (o lo que sea), que redefina keyPressEvent() y usala
en vez de QTextEdit.
De todas formas, el 90% de las veces no querés hacer eso. Por ejemplo, puede
ser mas facil implementar un eventFilter y aplicarlo al QTextEdit (o a la
ventana completa).
More information about the pyar
mailing list