QCompleter не поддерживает клавиши вверх и вниз
Я использую setEditable(true)
делать QComboBox
редактируемый, когда я ввожу cy
, тогда будет отображаться всплывающее окно завершителя, в котором перечислены все возможные результаты, например: cyan
, cyana
, liecyan
... но когда я нажимаю вниз на клавиатуре (Qt::Key_Down
), первый cyan
будет выбран и текст Lineedit QComboBox будет установлен cyan
Между тем, всплывающее окно просмотра обновлений, только cyan
показывает. Как я могу настроить его так, чтобы он вел себя как веб select
составная часть.
1 ответ
Я решил этот вопрос.
1.class MyListView : public QListView
2.MyListView's bool event(...)
должны быть реализованы, чтобы заботиться о типе QEvent::ShortcutOverride
3. на основе QEvent::ShortcutOverride
когда пользователь нажимает Qt:Key_Up
или же Qt::Key_Down
,задаватьfalg
false, когда пользователь отпускает ключ, установите flag
правда
3.QCompleter
использовать setPopup(MyListView
экземпляр) для переопределения списка по умолчанию 4. Установите регулярное выражение QCompleter для работы, когда falg
верно 5. я получил то, что хочу