2015-02-11 119 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);