Comunidad Gambas-es
[SOLUCIONADO] ¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html)
+--- Tema: [SOLUCIONADO] ¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? (/thread-1727.html)



¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? - Grandamakulo - 05-07-2024

Pues eso, compañeros. En un TextArea en GTK se disparan ambos eventos, pero con el mismo control en Qt no hay manera. ¿Alguien sabe cómo solucionarlo?
Mil gracias de antemano.


SOLUCIONADO al actualizar Linux Mint, por lo que obviamente no era cosa de Gambas3 Smile


RE: ¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? - vuott - 05-07-2024

Yo tuve este problema, Confused cuando yo usaba Linux Mint.


RE: ¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? - Shordi - 06-07-2024

A mí con mi Linux Mint sí me funciona. He probado con qt5 y con guiqt. Algo tienes raro ahí...


RE: ¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? - Shell - 09-09-2024

He probado con las dos librerías y funciona bien.
El código de prueba de los eventos fue sencillo.

Código:
Public Sub TextArea1_KeyPress()

  Print "Evento KeyPress!"

End

Public Sub TextArea1_KeyRelease()

  Print "Evento KeyRealease!"

End

¿ Lo haces con el control directamente o uno creado desde código ?. ( No olvides crear el manipulador o manejador de eventos en ese caso).
El error más habitual es escribir en el manipulador de eventos, el nombre del control, en vez del manipulador.

Código:
Private miTextArea As TextArea

Public Sub Form_Open()

  miTextArea = New TextArea(Me) As "Manipulador"

  Me.Arrangement = Arrange.Fill
  Me.Margin = True
  miTextArea.Expand = True

End

'Esto no funciona
' Public Sub miTextArea_KeyPress()
'
'   Print "Evento KeyPress!"
'
' End

Public Sub Manipulador_KeyPress()

  Print "Evento KeyPress!"

End

Public Sub Manipulador_KeyRelease()

  Print "Evento KeyRelease!"

End

Saludos


RE: ¿Por qué no se disparan los eventos KeyPress o KeyRelease en Qt? - Grandamakulo - 10-09-2024

Gracias, Shell, por la información, que, desde luego, es utilísima. Pero resultó que el problema era algo relacionado con Linux Mint y que se solventó al actualizar el sistema.