![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
radislav72 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 1.4.2010 Пользователь №: 1585 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте!
Есть диалоговое окно, и на нем несколько LineEdit, один редактируемый Combobox и ButtonBox. При наборе в комбобоксе текста работает autocomplete, и автоматически заполняется нужным текстом. Когда юзер нажимает кнопку "ОК" в ButtonBox-е, срабатывает слот accept(), в котором читаются все введенные значения формы и записываются в БД- то есть все Ок ![]() Но тут возникла такая проблемка: когда юзер нажимает на клавиатуре кнопку Enter при активном комбобоксе, то тоже срабатывает тот же слот accept(), но попытка чтения введенного в комбобокс значения всегда дает пустую строку. Что надо сделать, чтобы прочитать не пустую строку, а введенный текст? "Обходной маневр" в виде принудительной программной смены фокуса типа ui->ledBName->setFocus(); не дал ничего. Вид окна с комбобоксом: ![]() Если в ситуации, показанной на рисунке, нажать клавишу Enter, то чтение строки из комбобокса в слоте accept()
даст пустую строку, хотя там явно есть текст ![]() |
|
|
![]() |
molchanoviv |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: ![]() ![]() ![]() |
А код покажи. А то у меня такой код
отрабатывает. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.6.2025, 18:36 |