2012-04-12 2 views
1

Я просто хочу получить значения цвета фона любого виджета (кнопка, элемент списка, текстовое поле), когда он завис и выбран, который я хочу использовать в своей таблице стилей.Получение значений цвета темы ОС в PyQt

Для лучшего понимания я прилагаю следующие снимки экрана, сделанные в Ubuntu. То же самое применимо и для Windows.

С парения эффект:
withhovereffect

С отмеченными эффект:
withselectedeffect

ответ

0

Выбранный цвет возвращается QPalette.color() для ключа QPalette.Highlight. И в таблице стилей вы можете использовать { background-color: palette(highlight) }.

Цвет фонового рисунка не является частью цветов QPalette, но, по-видимому, он либо нарисован как часть встроенного API виджетов (gtk), либо жестко закодирован в классы QStyle.

+0

Спасибо alexisdm. Часть моей проблемы решена. В описании класса все понятно. http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpalette.html. Извините, я не могу понять ваш второй пункт. Вы говорите, что нет способа получить значения цветов фонового цвета или мы можем получить значения по умолчанию ?. –

+0

Невозможно получить цвета наведения с помощью Qt. Они используются внутренне, но не подвергаются воздействию API. – alexisdm

Смежные вопросы