gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:30:47 24 4
gpt4 key购买 nike

我有一个Qt样式表设置为深色背景的QLabel

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,那么如何将调色板更改限制在此小部件上?

最佳答案

简短的答案是没有。最近,我不得不这样做。


QLabel!visited不起作用,因为Qt无法跟踪是否访问了QLabel。
QLabel { color: ... }不适用于链接。找不到原因,但我发现的所有建议都是在这种情况下使用QPallete的建议。

关于qt - 如何使用样式表自定义QLabel中链接的外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com