QCompleter и QLineEdit для нескольких слов

Есть ли способ заставить QCompleter действовать как автозаполнение для нескольких слов?

Кто-нибудь знает, как это сделать?


person mileschet    schedule 21.01.2009    source источник
comment
Это как-то связано с Java?   -  person Michael Myers    schedule 21.01.2009
comment
Qt также доступен для Java, так что в некотором смысле это может быть.   -  person Yorgos Pagles    schedule 23.01.2009


Ответы (1)


Не знаю, правильно ли я понимаю:

QStringList wordList;
wordList << "alpha and beta" << "omega" << "omicron" << "zeta";

QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);

QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setCompleter(completer);

Если вы наберете alp, вы получите завершение alpha и beta, состоящее из более чем одного слова. Нет предела.

Обновление после разъяснений:

Кажется, что запрашивается запуск нового автозаполнения после значения разделителя. В данном случае этим разделителем будет пробел. Эквивалентным примером может служить завершитель модели дерева из примеры Qt. Этот пример иллюстрирует, как решить ту же ситуацию.

person Yorgos Pagles    schedule 21.01.2009