我有QSting对象:
QString someString = "<a href='link'>some text</a>"
和QLabel对象:
QLabel someLabel.
用这个文字:
someLabel.setText(someString);
我为QLabel设置了属性:
someLabel.setProperty("class","someID"),
并在CSS文档中为此标签设置样式,如下所示:
#someID
{
// some style
}
但CSS的样式并未应用于Label的文本。它从css。
设置默认的蓝色下划线样式问题:如何从CSS设置样式?
答案 0 :(得分:0)
您可以尝试通过setStyleSheet()
方法设置样式表。
可以找到示例here。
答案 1 :(得分:0)
要做的重要区别是,有两个完全独立的样式系统会影响QLabel
的作用:
通过setStyleSheet()
方法在小部件上设置的CSS样式表。
在这些样式表中,#
选择对象的id - 其名称。因此,您应该设置对象的名称,而不是类属性:
someLabel.setObjectName("someId");
然后#someId
选择器将应用于someLabel
。
CSS样式属性应用于标签显示的富文本内容。这些可以通过内联style
属性提供,例如<span style="font-size: 20px">FOO</span>
。还支持<style>
中的<html>
元素,但不支持外部样式表 - 因此样式表必须位于<html>
内。支持所有CSS 2.1选择器。例如,
<html><style type="text/css">em {color: red}</style>
<body><em>URGENT!</em></body>
</html>