我有一个 QCompleter 为我的 QPlainTextEdit 使用 QStringListModel (检查这个例子):
QStringListModel* model = new QStringListModel(names);
QCompleter* completer = new QCompleter(model);
completer->setCompletionMode(QCompleter::PopupCompletion);
completer->setModelSorting(QCompleter::UnsortedModel);
它工作正常。现在我需要一些图标,工具提示,用于我尝试使用 QListWidget 作为自定义弹出窗口的每个建议:
QListWidget* w = new QListWidget();
foreach(name, names) {
QListWidgetItem* i = new QListWidgetItem(name);
i->setIcon(/*my Icon*/);
i->setToolTip("");
w->addItem(i);
}
completer->setPopup(w);
弹出窗口好的,就像我需要的那样,但完成没有更多的工作。我无法输入文本以使其过滤建议,只需向上/向下键。
我尝试过:
completer->setModel(w->model());
但没有帮助!
我的错误是什么,或者只是 QStringListModel 让我能够过滤建议?你有什么建议?
谢谢!