Вопрос по c++, checkbox, qt, qcheckbox – как изменить цвет текстовой метки QCheckBox в Qt?

5

Я не могу изменить цветQcheckbox вQTМожет кто-нибудь помочь мне с кодом, чтобы изменить цвет флажка текстовой метки. я пыталсяQpalette.. И я используюQT4.7.4 версия..

Ваш Ответ

4   ответа
0

Я столкнулся с этой проблемой, используя различные версии Qt5 (5.2, 5.4). Чтобы сделать это с таблицами стилей, мне пришлось использовать свойства псевдо-состояний:http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

Пример:

myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }");

Установка обоих состояний изменила цвета для меня. Кажется, в системе стилей и палитры есть такие странности, поэтому следите за ними и попробуйте несколько разных вещей (например, селекторы, псевдосостояния и т. Д.)

1

Похоже, для некоторых виджетов вы должны принудительно использовать несистемный & quot; widget-engine & quot ;. Для флажка это можно сделать, установив границы в none. Таким образом, стиль флажка выглядит следующим образом:

QCheckBox {
   border: none;
   color: white;
}

Подобное поведение требуется для других виджетов. Некоторые свойства стиля не отключают внешний вид. Например, QPushButton (http://doc.qt.io/qt-4.8/stylesheet-reference.html)

6

Вы могли бы использоватьтаблицы стилей.

например:

checkBox->setStyleSheet("QCheckBox { color: red }");

Для более подробной информации проверьтетаблицы стилей в Справочнике Qt идокументация по таблицам стилей

Вы хотите сказатьsetStyleSheet (заглавная S на «Листе»)?
таблица стилей тоже не работает ... Есть ли альтернативный метод? sai
4

Это работает для меня:

QPalette p = myCheckBox->palette();
p.setColor(QPalette::Active, QPalette::WindowText, green);
myCheckBox->setPalette(p);

Похожие вопросы