Проблема с QComboBox |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с QComboBox |
inviZ |
5.6.2010, 11:04
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 5.6.2010 Пользователь №: 1781 Спасибо сказали: 4 раз(а) Репутация: 1 |
Собственно, вот в чем проблема. Имеется редактируемый QComboBox. Почему-то при нажатии на Enter его текст очищается.
Что очень нежелательно, т.к. Enter призван вызывать нажатие на default button диалога. И собственно, если фокус при этом находится на комбобоксе, произойдет совершенно ненужная в данном случае очистка. Как запретить подобное поведение? Желательно без наследования. Ради таких мелочей лишние классы плодить не хочется. Пробовал через installEventFilter - событие-то отфильтровываю, но при этом default button также не нажимается, сделал пока такой грязный хак:
Работает, но на то он и грязный хак... Может есть более правильное решение? |
|
|
Litkevich Yuriy |
5.6.2010, 11:39
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
inviZ |
5.6.2010, 13:12
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 5.6.2010 Пользователь №: 1781 Спасибо сказали: 4 раз(а) Репутация: 1 |
Хм, верно, небольшое уточнение есть - подобное странное поведение наблюдается, когда элементы ComboBox'а берутся из модели (QSqlQueryModel, но я думаю, это неважно).
|
|
|
Litkevich Yuriy |
5.6.2010, 15:01
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
кнопка "Ввод" в представлении имеет особый смысл - начать/завершить редактирование
|
|
|
asvil |
8.6.2010, 0:22
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 21.4.2010 Пользователь №: 1647 Спасибо сказали: 2 раз(а) Репутация: 0 |
При нажатии enter в редактируемом комбобоксе, он пытается сделать подобное QComboBox::model()::index(QComboBox::insertPolicy, QComboBox::modelColumn()).setData(QComboBox::lineEdit().text()).
Если установлена модель которая не умеет добавлять записи, то незачем делать QComboBox редактируемым. |
|
|
Текстовая версия | Сейчас: 26.12.2024, 15:50 |