我有一个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
应用程序中的所有其他内容,那么如何限制此小部件的调色板更改?