Здравствуйте, гость ( Вход | Регистрация )
asvil | Дата 8.6.2010, 0:22 |
При нажатии enter в редактируемом комбобоксе, он пытается сделать подобное QComboBox::model()::index(QComboBox::insertPolicy, QComboBox::modelColumn()).setData(QComboBox::lineEdit().text()). Если установлена модель которая не умеет добавлять записи, то незачем делать QComboBox редактируемым. |
|
Litkevich Yuriy | Дата 5.6.2010, 15:01 |
кнопка "Ввод" в представлении имеет особый смысл - начать/завершить редактирование | |
inviZ | Дата 5.6.2010, 13:12 |
Хм, верно, небольшое уточнение есть - подобное странное поведение наблюдается, когда элементы ComboBox'а берутся из модели (QSqlQueryModel, но я думаю, это неважно). | |
Litkevich Yuriy | Дата 5.6.2010, 11:39 |
Почему-то при нажатии на Enter его текст очищается никогда такого не замечал |
|
inviZ | Дата 5.6.2010, 11:04 |
Собственно, вот в чем проблема. Имеется редактируемый QComboBox. Почему-то при нажатии на Enter его текст очищается. Что очень нежелательно, т.к. Enter призван вызывать нажатие на default button диалога. И собственно, если фокус при этом находится на комбобоксе, произойдет совершенно ненужная в данном случае очистка. Как запретить подобное поведение? Желательно без наследования. Ради таких мелочей лишние классы плодить не хочется. Пробовал через installEventFilter - событие-то отфильтровываю, но при этом default button также не нажимается, сделал пока такой грязный хак:
Работает, но на то он и грязный хак... Может есть более правильное решение? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 26.4.2024, 17:20 |