问题描述
我有一个像">>> This is an Arrow."
这样的QString,现在我想用粗体和红色显示>>>
,该怎么做?
我查看了一些页面,发现了这种语法
QString redPart = QString("<span style=" color:#ff0000;">%1</span>").arg(">>>");
但是它会出现一些错误,例如“)”丢失,我无法弄清楚。
解决方法
QString不是可视组件,因此没有font或color属性。它只是一个保存文本的数据结构。如果要显示该文本,可以使用许多可视对象之一,例如QLabel。
您遇到的编译器错误可能是因为引号使用不正确。像这样尝试:
QString redPart = QString("<span style='color:#ff0000;'>%1</span>").arg(">>>");
,
您的错误消息表示您缺少),因为在字符串文字( \“ 而不是” )中使用引号时必须转义引号,即像
QString redPart = QString("<span style=\" color:#ff0000;\">%1</span>").arg(">>>");
另一方面, Qstring 是一个与小部件或GUI完全无关的类,因此在那里定义了颜色,粗体格式等属性,因此您需要使用小部件或可以显示给用户的内容,如果是widget:可以设置样式表,如果是QLabel:可以使用richtext设置文本。