假设我有一个QLabel多行文本;这个多行文本来自一个文本文件:我打开文本文件,一次读取一行并将读取的行放入QLabel后跟“\n”(CR)。
当我到达文件末尾时,我会QLabel显示每行所有读取的文本行。在读取阶段,我能够检测读取的行是否包含搜索的单词:在这种情况下,我会将整行放在粗体字符中,而所有其他行仍然不使用粗体字体。
我怎样才能做到这一点?
如果您的基本文本不包含 html 代码,您可以将 QLabel 的格式设置为 RichText,使用
label.setTextFormat(Qt::RichText);. 这样,它会将您的文本解释为 html。围绕您要突出显示的线<b></b>- 这应该可以解决问题。
或者setTextFormat(),您可以用 包围整个文本<html></html>。另请参阅mightBeRichText()文档。
尝试通过调用设置文本格式
ui->InfoTextLabel->setTextFormat(Qt::RichText);
您想要加粗的行应该用 包围<b></b>,这样您就可以将它附加到您的文本中,如下所示:
append("<b>" + line + "</b>\n")
看看文档
| 归档时间: |
|
| 查看次数: |
2106 次 |
| 最近记录: |