Qt4 и системные цвета

Модератор: Модераторы разделов

Аватара пользователя
nadge
Сообщения: 1519
ОС: ArchLinux, Ubuntu 10.10

Qt4 и системные цвета

Сообщение nadge »

Нужно узнать стандартные системные цвета, а именно дефолтный цвет текста и цвет фона в полях ввода (а именно - QTextEdit).

Тут фишка какая - у меня не тема установлена, а идет отрисовка виджетов через Gtk (ну, стандартная фича в новый версиях Qt). Но у других юзеров может стоять тема или вообще быть винда :) И нужно универсальное решение или три соответствующих разных решения.

Я пробовал делать

Код: Выделить всё

QtGui.QTextEdit().textColor()
(синтаксис питона), но это уперто выдает черный цвет, хотя в самом поле ввода может быть иной, в зависимости от темы Gtk (повторюсь, что у меня Qt работает в гноме и отрисовка идет через Gtk). В документации че-то тоже про это нет.


Подскажите решение :)
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Qt4 и системные цвета

Сообщение NickLion »

Может это не то, не знаю. QTExtEdit().palette().color( QPalette::WindowText ) может то, что надо.
Спасибо сказали:
EdSwww
Сообщения: 1

Re: Qt4 и системные цвета

Сообщение EdSwww »

NickLion писал(а):
16.04.2010 19:07
QTExtEdit().palette().color( QPalette::WindowText )


Спасибо!

QListWidget* pLW = new QListWidget;
QColor ColorBgrnd =pLW->palette().color(QPalette::Background);
QColor ColorTxt =pLW->palette().color(QPalette::WindowText);

даёт правильно искомые цвета. Полдня искал...

Спасибо сказали: