Presentando PicPanel y PicToolButton - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Otros (https://gambas-es.org/forum-18.html) +--- Foro: Videotutoriales (https://gambas-es.org/forum-20.html) +--- Tema: Presentando PicPanel y PicToolButton (/thread-1224.html) Páginas:
1
2
|
Presentando PicPanel y PicToolButton - Shordi - 11-02-2023 Aquí tenéis la segunda entrega de la serie de vídeos sobre cómo manejar una estética distinta en Gambas3. En este ocasión se muestra el ejemplo de uso de los controles Picpanel y PicToolButton. Espero que os sirva. Saludos RE: Presentando PicPanel y PicToolButton - tincho - 11-02-2023 Gracias Shordi. ¿Al final de la serie tendremos un PicPanel unificado con un RoundPanel? RE: Presentando PicPanel y PicToolButton - Shordi - 11-02-2023 (11-02-2023, 12:55)tincho escribió: Gracias Shordi. Nope. Tras incontables intentos no he conseguido hacer una imagen con bordes redondeados... Creo que la mejor posibilidad sería usar algo así como imagemagick y crear la imagen en tmp en tiempo de ejecución o lo que sea... pero no he sido capaz. Si alguien sabe cómo (no vale CSS) estaré eternamente agradecido. Saludos RE: Presentando PicPanel y PicToolButton - Harpo - 06-03-2023 (11-02-2023, 13:43)Shordi escribió:(11-02-2023, 12:55)tincho escribió: Gracias Shordi. Buenos días, Yo encontré una manera, la propiedad Brush de la clase Paint es del tipo PaintBrush y según la ayuda de Gambas hay 4 métodos que la devuelven en Paint, dos de ellos son Paint.Color y Paint.Image. Con este último se puede asignar una imagen de relleno y después pintar. Le dejo un RoundPanel versión 2, con propiedad "Picture", se puede usar un color o una imagen de fondo, quedaría algo así: Tiene un pequeño problema, en QT5 funciona correctamente, en GTK3 distorsiona la imagen. Un saludo y perdón por la foto utilizada, por esa no tengo que pagar derechos de autor . Harpo. RE: Presentando PicPanel y PicToolButton - Shordi - 06-03-2023 Maravilloso. La clase Paint es terreno virgen para mí. Estamos muy limitados por la falta de documentación los sufridos gamberos... Tu solución es perfecta. Sólo he modificado un par de cositas para adecuarlas a la idea que yo tengo del Roundpanel, a saber: - He cambiado la propiedad Picture por la propiedad Image de tipo Image. ¿Por qué? porque si Paint trabaja con image, ¿para qué estar convirtiendo? Se supone que la diferencia es que picture se almacena en el servidor gráfico e Image se almacena en memoria... aunque no tengo muy claro qué implica eso y si sería mejor tejemanejear pictures para ahorrar memoria o qué. De momento lo dejo así para hacer el código más simple y comprensible - He añadido la propiedad Stretch de tipo boolean, para que la imagen se adapte al tamaño del control... o no, según convenga. - He modificado la propiedad Border, de boolean a Border, de manera que se pueda elegir el borde como en un panel normal. Las propiedades BorderColor, etc, sólo tendrán sentido cuando se le asigne un border.plain al control, claro. Esto tiene sentido cuando el panel no tiene imagen de fondo que cuando le pones imagen no se nota casi si es Raised o Sunken o inexistente. Ahora sí que se comporta como buscaba y creo que deja totalmente obsoleto el control PicPanel que tenía hecho. Aunque creo que éste pasará a llamarse PicPanel porque es más significativo, creo, el tener una imagen de fondo que el tener las esquinas redondeadas... RoundPicPanel, me parece excesivo... Ahora vamos a sacarle jugo a este pequeño tesoro. Saludos y muchísimas gracias. RE: Presentando PicPanel y PicToolButton - Harpo - 06-03-2023 Ha sido un placer ayudarle, la verdad es que ese control fue algo "rápido y sucio", alguien en el foro preguntó por un panel con bordes redondeados y yo llevaba un tiempo probando la clase Border y sus posibilidades con Paint, le faltan varias cosas: controlar Radius y BorderWith, ajustar las propiedades "Client" en función de Radius... A ver qué tal le quedan ahora esos controles. Un saludo, Harpo. RE: Presentando PicPanel y PicToolButton - Shordi - 06-03-2023 (06-03-2023, 17:24)Harpo escribió: Ha sido un placer ayudarle, la verdad es que ese control fue algo "rápido y sucio", alguien en el foro preguntó por un panel con bordes redondeados y yo llevaba un tiempo probando la clase Border y sus posibilidades con Paint, le faltan varias cosas: controlar Radius y BorderWith, ajustar las propiedades "Client" en función de Radius... Oído, cocina. Saludos RE: Presentando PicPanel y PicToolButton - Shordi - 06-03-2023 Hecho. Ahora se comporta como un panel normal pero respetando el Radius de las esquinas y demás. Me gustaría que lo probaseis porque el cálculo de la ubicación de los contenidos al Radius de las esquinas y demás lo he hecho bastante a ojímetro... por lo que no sé qué puede ocurrir en otras máquinas que no sean la mía. Saludos RE: Presentando PicPanel y PicToolButton - Harpo - 06-03-2023 (06-03-2023, 19:14)Shordi escribió:(06-03-2023, 17:24)Harpo escribió: Ha sido un placer ayudarle, la verdad es que ese control fue algo "rápido y sucio", alguien en el foro preguntó por un panel con bordes redondeados y yo llevaba un tiempo probando la clase Border y sus posibilidades con Paint, le faltan varias cosas: controlar Radius y BorderWith, ajustar las propiedades "Client" en función de Radius... jajajajaja Me refería a que YO me dejé muchas cosas cosas en el tintero a la hora de construir el control. Mañana probaré que tal funciona y le cuento. Saludos. RE: Presentando PicPanel y PicToolButton - tincho - 06-03-2023 Felicitaciones, un gran trabajo. No se si se podra hacer pero ¿Seria posible decirle al panel que esquinas se redondearan? En el ejemplo de mas abajo agregue un panel a modo de barra de botones, mas oscura, y redondeo ambos panels pero quedaria mas parecido a gtk3 si la "botonera" redondea solo las esquinas superiores y por el contrario el panel de abajo solo las inferiores. |