У меня есть QLabel
с таблицей стилей Qt, которая устанавливает темный фон:
QLabel {
background: black;
color: white;
}
Это прекрасно работает, пока я не добавлю текст со встроенным URL и не установлю Qt::TextFormat
на Qt::RichText
. Ссылка по умолчанию отображается темно-синим цветом, который трудно прочитать на темном фоне.
Я пытался настроить его с помощью таблицы стилей, например:
a { color: white; }
QLabel!visited { color: white; }
но это не имеет никакого эффекта. Единственное, что действительно работает, - это изменение QPalette
приложения:
QPalette newPal(qApp->palette());
newPal.setColor(QPalette::Link, Qt::white);
newPal.setColor(QPalette::LinkVisited, Qt::white);
qApp->setPalette(newPal);
Однако для этого необходимо жестко закодировать цвет. Можно ли как-нибудь установить цвет из таблицы стилей?
РЕДАКТИРОВАТЬ:
Я обнаружил еще одну проблему с настройкой палитры. Если я хочу просто изменить палитру моего виджета (заменив widget
на qApp
в примере выше), это не сработает. Я не хочу влиять на все остальные QLabels
в приложении, так как я могу ограничить изменения палитры для этого виджета?