Это единственный фактический ответ. Обратите внимание, что конструктор Qt явно окрашивает каждую ссылку в явном виде, что переопределяет любое значение по умолчанию в вашей глобальной таблице стилей.

я есть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 в приложении, так как я могу ограничить изменения палитры для этого виджета?

Ответы на вопрос(3)

Ваш ответ на вопрос