C++ QLabel higlight搜索词

C++ QLabel higlight搜索词,c++,qt,highlight,qlabel,C++,Qt,Highlight,Qlabel,我正在开发一个Qt应用程序,我正在尝试实现这个功能,如果您键入一个单词,它在QLabel中出现的所有内容都会突出显示。我不知道怎么做。有没有一种方法可以遍历QLabel中的文本并更改某些单词的背景颜色 可以在QTextEdit中通过使用QTextEdit::ExtraSelection来完成。但是QLabel没有这个方法 因此,例如,如果搜索的单词是“sed”,我希望在QLabel中得到如下内容: 您可以使用添加一些风格的潜台词。您需要自己在文本字符串中搜索它,并插入一些HTML This is

我正在开发一个Qt应用程序,我正在尝试实现这个功能,如果您键入一个单词,它在QLabel中出现的所有内容都会突出显示。我不知道怎么做。有没有一种方法可以遍历QLabel中的文本并更改某些单词的背景颜色

可以在QTextEdit中通过使用
QTextEdit::ExtraSelection
来完成。但是QLabel没有这个方法

因此,例如,如果搜索的单词是“sed”,我希望在QLabel中得到如下内容:

您可以使用添加一些风格的潜台词。您需要自己在文本字符串中搜索它,并插入一些HTML

This is my <span style="background-color:yellow">text</span>
这是我的文本
将单词高亮显示到现有标签(已包含文本)中的示例:

QString searchedWord=“sed”;
QString txt=lbl->text();
txt.replace(QRegExp(“\\b”+searchedWord+“\\b”),
“+searchedWord+”);
lbl->setText(txt);

如果要突出显示多个单词,则需要创建一个更具体的RegExp。

您可以显示一个示例,说明希望获得的内容。Hi@eyllanesc我添加了一个示例。我希望它能澄清我想要实现的目标。@madasionka我们指的是代码示例,而不是屏幕截图
QString searchedWord = "sed";

QString txt = lbl->text();
txt.replace(QRegExp("\\b" + searchedWord + "\\b"),
            "<span style=\"background-color:yellow\">" + searchedWord + "</span>");
lbl->setText(txt);