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