2015-02-11 58 views
1

我在写一个搜索算法,它搜索QListWidget并根据用户在搜索栏中输入的内容返回相关匹配。我希望任何比赛都以淡黄色突出显示。如何突出显示QListWidgetItem文本中的特定字母?

例如:

如果用户键入“ILT”在搜索栏中,我想强调的相应字母都在QListWidgetItem与文本“写˚FILT ER”(粗体,为了方便)。

假设我可以访问这两个短语,并且可以通过编程识别QListWidgetItem文本中哪些字母需要突出显示,那么是否有API或算法可用于执行此操作?

回答

1

通常您必须创建一个自定义委托,以您想要的方式绘制文本。你可以阅读它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);