如何更改QString的字体和颜色?

问题描述

我有一个像">>> 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设置文本。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...