TransWikia.com

¿Porqué se me genera un doble foco en la ventana?

Stack Overflow en español Asked by Cesar andió on January 25, 2021

Tengo un formulario hecho en QtDesigner y lo ejecuto con Pyside2 en Python 3.8.5.
Mediante una línea de código le coloco el foco a un lineEdit, pero automáticamente en simultáneo se genera un foco a un botón, lo cuál, al presionar "Enter" en el teclado me ejecuta la función asociada a dicha acción dentro del lineEdit, y también me presiona el botón con el foco.
Pensando que la causa podría ser una configuración en las opciones del QtDesigner que no haya visto, intenté revisarlas y no encontré nada. Luego eliminé dicho botón y lo reemplacé por la copia de otro botón que no me generaba dicho problema.
A continuación el foco siguió haciendo lo mismo, pero con otro botón. Volví a reemplazar ese nuevo botón por otro, y en vez de dejar de hacerme ese problema o mas bien, transferirlo a un botón nuevo, volvió a generarme el mismo problema inicial con el botón que al principio me daba problemas.
No entiendo porqué puedo tener 2 focos al mismo tiempo, donde presionar "Enter" me genera dos acciones totalmente distintas y desconectadas.
El sólo hecho de abrir la ventana ya me muestra el cursor dentro del lineEdit donde quiero tener el foco, y al mismo tiempo el resaltado en el botón que me genera el foco, es decir, que no se genera a partir de una acción del usuario sino mas bien desde el inicio ya me genera eso. No me lo ha hecho jamás en ninguna ventana.
He intentado también con self.push_Button.ClearFocus() y no funciona.
Al deshabilitar el botón (setEnabled False) no tengo problemas, pero ni bien vuelvo a habilitarlo vuelve el mismo problema, ya no se que más hacer!
Desde ya, muchas gracias!

One Answer

Resulta que en los QDialog, le carga a todos los botones la opción tildada de "autoDefault" en Enable. Esto permite que a pesar de que un lineEdit tiene el foco, al mismo tiempo un botón también tiene el foco y un evento como presionar en el teclado el "Enter", genera las dos señales en simultáneo.

Answered by Cesar andió on January 25, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP