Как выделить кнопки на панели инструментов GTK

9

Я написал приложение, используя Python и Glade. В приложении есть панель инструментов с темным фоном, и у каждой кнопки панели инструментов есть свое изображение (т. Е. Стоковые значки не используются).

Я заметил, что при использовании стандартных значков вместо пользовательских изображений в качестве значков, когда курсор мыши находится над кнопкой, кнопка подсвечивается, чего не происходит с моими пользовательскими изображениями.

Thunderbird, кажется, идет на шаг дальше, и вместо того, чтобы выделять значки, он инвертирует их цвет, что довольно хорошо работает для темной темы (см. Ниже):

Кнопка не подсвечена, нормальный цвет

введите описание изображения здесь

Кнопка подсвечивается при наведении, цвет перевернут

введите описание изображения здесь

Как я могу получить свои собственные изображения значков или кнопки, которые будут выделены при наведении курсора?

Дэвид Планелла
источник
Можете ли вы привести пример, где это не удается? Вероятно, это проблема темы или, скорее, ошибка GTK +, если она не просто работает, и вы не просто вставляете изображения на панель инструментов, а не кнопки.
Добей
Код находится по адресу code.launchpad.net/qreator . Я дважды проверил, и панель инструментов использует кнопки. Насколько я могу судить, я загружаю только изображения для иконок. Также стоит упомянуть: bazaar.launchpad.net/~dpm/qreator/trunk/view/head:/qreator/…
Дэвид Планелла
Я думаю, что вы должны удалить этот код. Похоже, что-то быстро добавленное для Gtk2, чтобы сделать классную панель инструментов.
Добей
Я фактически добавил его после прочтения askubuntu.com/questions/67362/… - вы, ребята, использовали его для пользовательского интерфейса GTK Ubuntu One. Вы делали это по-другому?
Дэвид Планелла
Старая панель управления GTK + U1 была Gtk2, и любые изменения цвета делались с помощью пользовательских виджетов, которые следовали за некоторыми вещами из темы. Я уверен, что мы не использовали этот фрагмент кода. Любая панель инструментов в обычном месте внутри GtkApplication в Gtk3 должна просто работать так, как вы ожидаете.
Добей

Ответы:

2

Проблема - проблема с темой Ambiance. Есть подсветка, но цвет фона для предварительной подсветки темнее. Если thunderbird показывает светлую подсветку и инвертирует цвета значков, то это потому, что он использует собственные виджеты в XUL (которые не являются Gtk +), которые не следуют темам GTK + или темам значков, для всего.

Добей
источник
Я думаю, мне придется подать ошибку против Ambiance, спасибо @dobey за указатель!
Дэвид Планелла