相关疑难解决方法(0)

如何使用样式表自定义QLabel中链接的外观?

我有一个QLabelQt样式表设置一个深色背景:

QLabel {
background: black;
color: white;
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,直到我添加带有嵌入URL的文本并设置Qt::TextFormatQt::RichText.链接显示为默认深蓝色,在深色背景上难以阅读.

我试过通过样式表来定制它,例如:

a { color: white; }
QLabel!visited { color: white; }
Run Code Online (Sandbox Code Playgroud)

但这没有任何效果.似乎有用的一件事是更改应用程序QPalette:

QPalette newPal(qApp->palette());
newPal.setColor(QPalette::Link, Qt::white);
newPal.setColor(QPalette::LinkVisited, Qt::white);
qApp->setPalette(newPal);
Run Code Online (Sandbox Code Playgroud)

然而,这需要对颜色进行硬编码.我有什么方法可以设置样式表的颜色吗?

编辑:

我发现了自定义调色板的另一个问题.如果我想只需要修改我的窗口小部件的调色板(替换widgetqApp样本上面),那么这是行不通的.我不想影响QLabels应用程序中的所有其他内容,因此如何限制此窗口小部件的调色板更改?

qt stylesheet qlabel

14
推荐指数
3
解决办法
5271
查看次数

标签 统计

qlabel ×1

qt ×1

stylesheet ×1