QLabel: выберите цвет текста и фона

Как я выбираю цвет текста и фон a QLabel ?

161
задан Andy M 7 November 2012 в 22:14
поделиться

2 ответа

Лучший и рекомендуемый способ - использовать Таблицу стилей Qt .

Чтобы изменить цвет текста и цвет фона QLabel , я бы сделал следующее:

QLabel* pLabel = new QLabel;
pLabel->setStyleSheet("QLabel { background-color : red; color : blue; }");

Вы также можете избежать использования таблиц стилей Qt и изменить цвета QPalette вашего QLabel , но вы можете получить разные результаты на разных платформах и / или стилях.

Как указано в документации Qt:

Использование QPalette не гарантирует работы для всех стилей, потому что авторы стилей ограничены руководящими принципами различных платформ и собственным механизмом тем.

Но вы можете сделать что-то вроде этого:

 QPalette palette = ui->pLabel->palette();
 palette.setColor(ui->pLabel->backgroundRole(), Qt::yellow);
 palette.setColor(ui->pLabel->foregroundRole(), Qt::yellow);
 ui->pLabel->setPalette(palette);

Но, как я уже сказал, я настоятельно рекомендую не использовать палитру и перейти к таблице стилей Qt.

251
ответ дан 23 November 2019 в 21:25
поделиться

Лучший способ установить любую функцию относительно цветов любого виджета - использовать QPalette.

И самый простой способ найти то, что вы ищете, - это открыть Qt Designer и установить палитру QLabel и проверить сгенерированный код.

13
ответ дан 23 November 2019 в 21:25
поделиться
Другие вопросы по тегам:

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