Здравствуйте!
Есть диалоговое окно, и на нем несколько LineEdit, один редактируемый Combobox и ButtonBox. При наборе в комбобоксе текста работает autocomplete, и автоматически заполняется нужным текстом.
Когда юзер нажимает кнопку "ОК" в ButtonBox-е, срабатывает слот accept(), в котором читаются все введенные значения формы и записываются в БД- то есть все Ок
Но тут возникла такая проблемка: когда юзер нажимает на клавиатуре кнопку Enter при активном комбобоксе, то тоже срабатывает тот же слот accept(), но попытка чтения введенного в комбобокс значения всегда дает пустую строку. Что надо сделать, чтобы прочитать не пустую строку, а введенный текст?
"Обходной маневр" в виде принудительной программной смены фокуса типа ui->ledBName->setFocus(); не дал ничего.
Вид окна с комбобоксом:
Если в ситуации, показанной на рисунке, нажать клавишу Enter, то чтение строки из комбобокса в слоте accept()
QString settl = ui->cbSettl->currentText().trimmed();
даст пустую строку, хотя там явно есть текст