2

ポップアップが表示されているがアイテムの選択に使用されていないときに、ユーザーに 2 回入力を強制する QCompleter があります。完成品に関連付けられた QComboBox のモデルは、完成品のモデルとして使用されます。

 QCompleter *completer = new QCompleter(this);
 completer->setCaseSensitivity(Qt::CaseInsensitive);
 completer->setCompletionMode(QCompleter::PopupCompletion);
 completer->setModel(this->ui->comboBox->model());
 this->ui->comboBox->setCompleter(completer);

ユーザーがアイテムを入力すると、可能な補完のリストが増えます。より長い補完が利用できる場所で短い補完 (例: "dir") を入力し始め、ポップアップから何も選択せずにヒットした場合 (つまり、アクティブ化、ハイライト、または indexchanged のいずれも起動されない)、Enter キーを再度押す必要があります。入力したテキストを処理します。これを回避する簡単な方法はありますか?

ありがとう

4

1 に答える 1

0

Qt 4.6.2 と Visual 2008 で試してみましたが、説明した状況は発生しません。試してみたい場合は、プロジェクトを利用できます。

コンパイルし、開始し、「something」と入力してからコンボボックスに戻ります。登録されているので、「some」と入力して戻ります。コンボボックスには「some」と「somewhere」があります

于 2011-04-14T18:09:06.100 に答える