Proyecto base con TrayIcon. Problema - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Proyecto base con TrayIcon. Problema (/thread-1959.html) Páginas:
1
2
|
Proyecto base con TrayIcon. Problema - Shell - 15-05-2025 Buenas a tod@s!. Estoy intentando crear un ejemplo con Trayicon para comprenderlo de la forma más sencilla. Pero no logro que el formulario se oculte al principio. Desde la opción de menú del Trayicon logro que el formulario se muestre o no se muestre. Pero desde que inicia la aplicación, está activo en el escritorio. Código: 'Problema el formulario se muestra al inicio de la ejecución Os subo el ejemplo. Vaya como ha mejorado el mostrar el código. Chapó administrador! Saludos RE: Proyecto base con TrayIcon. Problema - Shordi - 15-05-2025 Lo tenías muy acorralado. La única modificación al código es pasar la ocultación al evento _Show que se ejecuta después del open. Así: Código: ' Gambas class file fondo transparente, sin bordes, tamaño pequeño, que no aparezca en la barra del escritorio... y ya. Te adjunto el programa corregido. Saludos. RE: Proyecto base con TrayIcon. Problema - Shell - 15-05-2025 Ostras...que esto es como la canción de Teresa Rabal. Me pongo de pie, me vuelve a sentaaaar... Aquí es, me escondo una vez, me vuelvo a esconder..y el tío no sale. No, no vale que pongas que se oculta en el form_show, entonces no se muestra en la vida. Acabas de crearle una depresión de caballo al formulario. Ahí lo tengo llorando por las esquinas del escritorio. ( No lo veo, pero lo escucho llorando ). Prueba el ejemplo, ha cambiado de una forma que ya no se muestra nunca Imagina el caso que no es un formulario vacío, vamos que puede tener controles. Saludos RE: Proyecto base con TrayIcon. Problema - Shordi - 15-05-2025 Es complicado poner controles ahí. Los trayicon son muy suyos. No son controles normales, que se manejan a través de dBus y no están ligados al programa una vez en ejecución. Cosas como cerrar el formulario, terminar la aplicación, etc. A menudo dan problemas. Si quieres mostrar algo hazlo en otro formulario porque si no ¿Cómo lo harás en los escritorios que no tienen panel donde sacar el trayicon? RE: Proyecto base con TrayIcon. Problema - Shell - 15-05-2025 Pues si que son raros. ![]() Si el código no es del todo correcto, hacen cosas raras según el tipo de gestor de escritorio que uses. ¿ Qué te parece de esta forma ?. Me he ayudado de una bandera para saber cuando se está mostrando y cuando no. No descarto que haya código en menuMostrar_Click() que se pueda eliminar. Código: ' Gambas class file Desde luego el trayicon no iba a funcionar en un escritorio typo Wayland. Que rollo es eso. ![]() Habría que averiguar antes si es tipo Wayland: Código: If Environ["XDG_SESSION_TYPE"] = "wayland" Then Y tomar otra alternativa Saludos RE: Proyecto base con TrayIcon. Problema - Shordi - 15-05-2025 Te adjunto el ejemplo con las verificaciones que yo hago en mi programa LinAmp, que tienes en el git . Saludos RE: Proyecto base con TrayIcon. Problema - Shell - 16-05-2025 (15-05-2025, 20:19)Shordi escribió: Te adjunto el ejemplo con las verificaciones que yo hago en mi programa LinAmp, que tienes en el git . Entrando un poco en offtopic. Creía que era el gbAmp. Para entender el funcionamiento básico de Trayicon es demasiado complicado. Le añadiste hasta clases. Estuve viendo varios por el mismo tema. Comencé con "Alarm Timer" de Charlie Ogier (tiene tres proyectos sobre este tema). Pero son proyectos tan grandes que para ver un sencillo uso de Trayicon, se sobrepasan. Por cierto linAmp parece hecho para QT6. No ha sido complicado pero he tenido que entretener un poco elegir los componentes.Han quedado así: ![]() Tiene una variable que no se usa: sto, se encuentra en cut_Click() se encuentra en fDivisor. Ya gbAmp era grande. Es un gran proyecto en todos los sentidos. Me he encontrado con un problema. He intentado reproducir un sonido que tenía en ogg y aunque lo ha cargado no la ha reproducido. Este funciona desde el administrador de archivos, es más lo estoy usando en otro ejemplo. ![]() La aplicación tiene acceso a la carpeta del usuario. Pero imagina que quieres acceder a otros discos. No accede al directorio de /. Supongo que por seguridad. Y gracias por el soporte. ![]() Saludos RE: Proyecto base con TrayIcon. Problema - Grandamakulo - 16-05-2025 Mi «Tomatito» es mucho más pequeño y es un poco chapuza. No sé si te valdrá, pero bueno, por si acaso. RE: Proyecto base con TrayIcon. Problema - Shell - 16-05-2025 (16-05-2025, 12:33)Grandamakulo escribió: Mi «Tomatito» es mucho más pequeño y es un poco chapuza. No sé si te valdrá, pero bueno, por si acaso. Me suena a guitarrista flamenquito. ![]() RE: Proyecto base con TrayIcon. Problema - Shordi - 17-05-2025 Cita:Me he encontrado con un problema. He intentado reproducir un sonido que tenía en ogg y aunque lo ha cargado ¿Veis como es necesario tener "pilotos de prueba"? La mayoría de los programas que tengo en el gitlab adolecen de esa carencia, es decir, yo los hago lo mejor que sé en cada momento hasta que "razonablemente" funcionan para mí. El problema es que al saber cómo funcionan nunca se me ocurre hacer cosas distintas y se quedan llenos de bugs y de huecos que por falta de otros ojos más limpios nunca salen a la luz. En principio en el treeview de la izquierda (en realidad es un viewChooser, clase propia del programa que hereda de treeview), sólo se mostraban las carpetas y a la derecha los archivos. Creo que fue Tincho quien hace mucho tiempo señaló que sería bueno que también se pudiesen ver los archivos en el treeView y así lo hice, pero sólo como información, es decir si haces doble click sobre un archivo en la lista de la izquierda no se reproduce ni se muestra en la de la derecha.,. y ocurre que para que un archivo se reproduzca ha de estar en la lista de la derecha y ser lanzado desde ahí. Apostaría que has hecho doble click sobre un .ogg que se veía en el treeView y no ha ocurrido nada. A lo más se ha vaciado la lista de archivos de la derecha. Lo he modificado y ahora si haces doble click sobre un archivo en el treeView, se carga en el gridview la carpeta donde resida y se puede reproducir desde el gridview. Es decir si despliegas el Escritorio en el treeView y allí tienes un archivo.ogg, con doble click sobre éste se cargarán en el triview todos los archivos de audio que contenga el Escritorio y desde ahí podrás reproducirlo. El tema de que no puedas buscar fuera del home del usuario es configurable. Abre las preferencias y ahí puedes indicar cual es el tope de búsquedas y la carpeta de música por defecto, si cambias ahí /home/usuario por / a secas, ya está: podrás buscar por todo el ordenador. De paso en esta investigación he podido corregir un error de división por cero que ocurría al intentar reproducir un archivo con duración 00:00:00 (hay archivos que informan mal de su duración o que duran tan poco que no se llega a calcular bien). Como cosa mala he constatado que Youtube ha endurecido sus políticas y ahora no funciona bien el yt-dlp que es en lo que se basa LinAmp para descargar los archivos de sonido de los videos. Creo que ahora eso ya no funciona... pero no he tenido ganas de investigarlo a fondo. Lo dejo para otro día. He subido a gitlab la versión corregida. Es decir, una carencia y un bug solucionados gracias a tus observaciones. Supongo que esa es la vida cotidiana de Benoît... ![]() ![]() Saludos |