Cómo resaltar botones en una barra de herramientas GTK

9

He escrito una aplicación usando Python y Glade. La aplicación tiene una barra de herramientas con un fondo oscuro, y cada botón de la barra de herramientas tiene una imagen personalizada (es decir, no se utilizan iconos de valores).

Me he dado cuenta de que cuando uso íconos comunes en lugar de imágenes personalizadas como íconos, cada vez que el mouse pasa sobre el botón, el botón está resaltado, lo que no ocurre con mis imágenes personalizadas.

Thunderbird parece ir un paso más allá y en lugar de resaltar los íconos, invierte su color, lo que funciona bastante bien para un tema oscuro (ver más abajo):

Botón no resaltado, color normal

ingrese la descripción de la imagen aquí

Botón resaltado al pasar el mouse, color invertido

ingrese la descripción de la imagen aquí

¿Cómo puedo hacer que mis imágenes de íconos personalizados o los botones se resalten al pasar el mouse por encima?

David Planella
fuente
¿Puedes dar un ejemplo donde falla? Probablemente sea un problema de tema, o más probablemente un error GTK +, si no solo funciona, y no solo está pegando imágenes en la barra de herramientas, en lugar de botones.
Dobey
El código está en code.launchpad.net/qreator . Lo he verificado dos veces y la barra de herramientas está usando botones. Lo único que estoy haciendo es cargar imágenes para los iconos, por lo que puedo decir. También vale la pena mencionar esto: bazaar.launchpad.net/~dpm/qreator/trunk/view/head:/qreator/…
David Planella
Creo que deberías eliminar ese código. Parece que quizás algo se agregó rápidamente para Gtk2 para hacer las cosas funky de la barra de herramientas.
Dobey
De hecho, lo agregué después de leer askubuntu.com/questions/67362/… : ustedes lo estaban usando para la interfaz de usuario GTK Ubuntu One. ¿Lo estabas haciendo diferente?
David Planella
El antiguo panel de control GTK + U1 era Gtk2, y cualquier cambio de color se realizó con widgets personalizados que seguían ciertas cosas del tema. No estábamos usando ese bit de código, estoy seguro. Cualquier barra de herramientas en el lugar normal dentro de una aplicación Gtk en Gtk3 debería funcionar de la manera que espera.
dobey

Respuestas:

2

El problema es un problema con el tema Ambiance. Hay un resaltado, pero el color de fondo para el prelight es más oscuro. Si Thunderbird muestra un resaltado claro e invierte los colores de los íconos, es porque está utilizando widgets personalizados en XUL (que no es Gtk +), que no siguen los temas de GTK + o íconos, para todo.

dobey
fuente
Supongo que tendré que presentar un error contra Ambiance, ¡gracias @dobey por el puntero!
David Planella