QPlainTextEditにQStringListModelを使用するQCompleterがあります(この例を確認してください)。
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だけで、提案をフィルタリングする機能が得られますか?何を指示してるんですか?
ありがとうございます!