【问题标题】:How to change the font and color of QString?如何更改 QString 的字体和颜色?
【发布时间】:2020-12-09 00:44:24
【问题描述】:

我有一个像 ">>> This is an Arrow." 这样的 QString,现在我想有一个粗体和红色的 >>>,怎么做?

我查看了一些页面并发现了这种语法

QString redPart = QString("<span style=" color:#ff0000;">%1</span>").arg(">>>");

但它给出了一些错误,例如“)”丢失,我无法弄清楚。

【问题讨论】:

  • 你的问题是第二个 " 结束字符串文字。

标签: c++ qt qstring


【解决方案1】:

您的错误消息意味着您缺少 a ) 因为在字符串文字(\" 而不是 ")中使用引号时必须转义引号,即像

QString redPart = QString("<span style=\" color:#ff0000;\">%1</span>").arg(">>>"); 

另一方面,Qstring 是一个与小部件或 gui 完全无关的类,因此颜色、粗体格式等属性并没有在那里定义,因此您需要使用小部件或者您可以向用户显示的内容如果小部件:您可以设置样式表,如果是 QLabel:您可以使用富文本设置文本。

【讨论】:

    【解决方案2】:

    QString 不是可视组件,因此没有字体或颜色属性。它只是一个保存文本的数据结构。如果您想显示该文本,您可以使用许多可视对象之一,例如 QLabel。

    您遇到的编译器错误可能是因为您对引号的使用不正确。试试这样吧:

    QString redPart = QString("<span style='color:#ff0000;'>%1</span>").arg(">>>");
    

    【讨论】:

    • 谢谢,现在如果我在 QListWIdget 的项目中使用这个 QString redPart,它会变成红色吗??
    • QListWidgetItem 应该能够处理富文本。即使不能,QListWidgetItem 也支持设置前景色。
    • 实际上它不能,我使用了这个QString redPart = QString("&lt;span style=\" color:#ff0000;\"&gt;%1&lt;/span&gt;").arg("&gt;&gt;&gt;"); ,当我尝试在文本编辑中打印它时,它正在工作,我得到了红色的&gt;&gt;&gt;,但是当我尝试将其打印在以 span style= " color:#ff0000;"&gt;&gt;&gt;&lt;/span&gt; 形式出现的项目中。
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 2015-05-18
    • 2011-05-20
    • 2012-02-20
    • 2011-06-19
    相关资源
    最近更新 更多