Harpo 13-06-2021, 10:21
Saludos al foro.

Les cuento mi problema, estoy montando una ayuda contextual basada en una idea de Shordi publicada en el foro antiguo. Básicamente cuando un usuario pulsa F1 en un formulario, este llama a una clase que busca el componente que tiene el foco y muestra un mensaje. La premisa básica es que el par "Form.Name-Control.Name"  es único. Todo iba bien hasta que cambié de GTK3 a QT5.

La rutina para recorrer los controles dentro del Form no solo devuelve los controles definidos, también devuelve sus controles internos. Por ejemplo, para un ButtonBox devuelve el ButtonBox, un TextBox, un DrawingArea y dos ToolButton. Mi problema es que necesito saber el nombre del control que tiene el foco, por ejemplo en el caso del ButtonBox en GTK3 lo hace correctamente pero en QT5 me da el foco en el TextBox del ButtonBox.

Como una imagen vale más que mil palabras les dejo un programa para visualizar el problema. Basta con poner el foco en cualquier control y pulsar F1. Se carga un Listbox con el nombre de cada control, su tipo y el contenedor. También dos etiquetas, una con el componente gráfico que se usa y otra con el control que tiene el foco.
Cambiando el componente gráfico en el menú "Depuración - Componente GUI" del IDE se ve la diferencia de funcionamiento.

Ando un poco despistado con esto, se agradece cualquier idea.
Un saludo, Harpo.

Se me olvida, uso Gambas 3.16.1 en un Xubuntu 20.04.2.
Archivos adjuntos
.gz
GTKvsQT-0.0.1.tar.gz (Tamaño: 12.67 KB Descargas: 3)
gambafeliz 12-06-2021, 22:28
Estoy algo bajo por un problema de rendimiento. No es exagerado pero necesito darle una solución. Ahora mismo tengo una solución por hacer algo cutre pero espero que con esta pregunta me aporte algo mejor que mi solución.

Defino el problema:
1. Al dar click en una opción del menú lo primero que hago es cargar una vista basada en el momento exacto que se clicka, por lo tanto tiene que hacerse la vista para ese momento o si o si.
2. Después cargo una consulta basada en esta vista.
3. Cargo un grid con esta consulta.
4. Trato todas las filas para colorear mis filas favoritas.
5. Trato todas las filas para colorear mis filas desactivadas.
6. Destruyo la vista del punto 1. para volverla a crear en el futuro

Mis cuellos de botella se producen en dos punto, el 1 y el 6 pero ambos se deben producir cada vez que estoy en la pantalla de este grid.

Necesito:
Por favor, necesitaría saber si puedo ejecutar junto a mi aplicación gráfica otra sin interfaz gráfica que cargue vistas en paralelo y que no haga que mi aplicación cada vez que clicko en un menú se tenga que parar para realizar estas operaciones de esta forma las cosas pesadas las haría en segundo plano y mi aplicación fluiría de forma natural.

¿esto es posible?
¿como lo hago?

Gracias.
Shordi 12-06-2021, 20:21
Estoy "Anglicicando" el Soprano y el IDE me tiene podrido. De manera caprichosa y aleatoria al cambiar el nombre a un control, y a veces a una cadena dentro del código, colapsa sin decir ni pío. Ahora está, alehop, ahora no, y por supuesto pierdes todo el trabajo desde la última grabación de proyecto.

No puedo subir el bug a bugtracker porque no lo tengo aislado. A veces lo hace y a veces no... pero es una peste. Este tipo de cosas me pasan mucho desde la versión 3.16...

Angry Angry Angry Angry Angry
Páginas (553):    1 416 417 418 419 420 553   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 280
Último miembro: herbert
Temas del foro: 1,705
Mensajes del foro: 8,848
Últimos temas
Error de sistema "Demasia...
Foro: General
Último mensaje por: Shordi, 11-05-2025, 19:42
Respuestas: 3 - Vistas: 88
controlar el Activado/Des...
Foro: General
Último mensaje por: Shordi, 10-05-2025, 08:08
Respuestas: 1 - Vistas: 66
Conexión Bluetooth: RFCOM...
Foro: Hardware & IoT
Último mensaje por: jguardon, 06-05-2025, 16:57
Respuestas: 5 - Vistas: 215
gb.db2: columnas calculad...
Foro: Bases de Datos
Último mensaje por: guizans, 04-05-2025, 21:02
Respuestas: 14 - Vistas: 569
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.