我正在编写一种搜索算法,该算法搜索QListWidget并根据用户在搜索栏中键入的内容返回相关的匹配项。我希望任何比赛都以淡黄色突出显示。
例如:
如果用户在搜索栏中键入“ilt”,我想突出显示QListWidgetItem中的相应字母,并使用文本“Write F ilt er”(为方便起见,将其选中)。
假设我可以访问这两个短语,并且可以以编程方式标识QListWidgetItem文本中需要突出显示的字母,那么是否可以使用API或算法来做到这一点?
最佳答案
通常,您必须创建一个自定义委托(delegate),以所需的方式绘制文本。您可以阅读有关here的信息。
但是,如果您想自定义QListWidget
,则可以简单地使用QListWidget::setItemWidget
方法:
QListWidget *list = new QListWidget;
QListWidgetItem *item = new QListWidgetItem(list);
QLabel *label = new QLabel("my <span style=\"color: red\">red</span> text");
list->setItemWidget(item, label);
关于c++ - 如何突出显示QListWidgetItem文本中的特定字母?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28465039/