Название: QComboBox и автозавершение при вводе Отправлено: Boris от Февраль 22, 2008, 11:01 Есть QComboBox
Код: QComboBox *cb = new QComboBox(this); Как в нем можно управлять автозавершением? Оно есть, но мне нужно чтобы пользователь мог вести только значения из списка комбобокса т.е. ничего кроме Проба_1 или Проба_2. Но ввод нужен, т.е. cb->setEditable(false) не подходит Название: Re: QComboBox и автозавершение при вводе Отправлено: WW от Февраль 22, 2008, 12:43 QCompleter * QComboBox::completer () const
Returns the completer that is used to auto complete text input for the combobox. This function was introduced in Qt 4.2. See also setCompleter() and editable. Название: Re: QComboBox и автозавершение при вводе Отправлено: Boris от Февраль 22, 2008, 13:30 Про completer () я тоже прочел - как им пользоваться?
Я нашел Код: QStringList strlist; Но произвольные значения как можно было вводить, так ничего не поменялось. Мне нужно было чтобы ничего кроме Проба_1 Проба_2 ввести нельзя было Название: Re: QComboBox и автозавершение при вводе Отправлено: Вячеслав от Февраль 22, 2008, 14:38 В сторону QValidator'а посмотри...
Либо лови void editTextChanged ( const QString & text ) и руками разруливай ;) Название: Re: QComboBox и автозавершение при вводе Отправлено: Boris от Февраль 22, 2008, 15:03 Там в комбобоксе строчки (именно текст). как в такм случае использовать Validator?
Название: Re: QComboBox и автозавершение при вводе Отправлено: Вячеслав от Февраль 22, 2008, 20:32 Делаешь наследника и в validate проверяешь строка в списке или нет Ы ?
Название: Re: QComboBox и автозавершение при вводе Отправлено: Boris от Февраль 23, 2008, 12:18 Спасибо Вячеслав действительно вышло, хоть и верилось с трудом.
Если кто то мучает тот же вопрос - вот ComboValidator.h Код: #ifndef COMBOVALIDATOR_H_ Код: #include "ComboValidator.h" Название: Re: QComboBox и автозавершение при вводе Отправлено: Amouse от Март 06, 2008, 13:42 А что в QCompleter нет возможности менять список?
Каждый раз когда список меняется, получается надо делать новый completer (new) и подключать к QComboBox? Название: Re: QComboBox и автозавершение при вводе Отправлено: Вячеслав от Март 06, 2008, 14:07 Ну таки сделай модель и меняй скока хош ;)
Название: Re: QComboBox и автозавершение при вводе Отправлено: Amouse от Март 06, 2008, 17:25 Ну таки сделай модель и меняй скока хош ;) э-э-э.. а можно чуть поподробнее? Взять скажем QListWidget и туда засовывать список файлов (в QComboBox у меня адресная строка)? И его в QCompleter ( QAbstractItemModel * model, QObject * parent = 0 ) ? |