Russian Qt Forum
Октябрь 01, 2024, 07:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сигнал lostFocus() у QLineEdit  (Прочитано 2963 раз)
StogovOleg
Гость
« : Октябрь 17, 2007, 14:22 »

Доброго времени суток.

qt-3.3.3
на форму помещаю QTabWidget, на одну из его страниц помещаю QLineEdit c именем "LineEdit1", сигнал lostFocus() этого QLineEdit подключаю к слоту где делаю только следующее:

std::cerr<<focusWidget()->name()<<endl<<focusWidget()->className()<endl;
//важно делать именно так, а не через QMessageBox чтобы не "нарушать" фокус

по форме раскидываю еще несколько кнопок и LineEdit.

Запускаю. Ставлю фокус в QLineEdit на TabWidget. Теперь если нажимаю клавишу Tab, то в поток ошибок пишется имя "LineEdit1" и имя класса "QLineEdit". Все как должно быть.

Снова ставлю фокус в QLineEdit на TabWidget. Перехожу на другую страницу и сразу возращаюсь назад на страницу с QLineEdit и нажимаю кнопку Tab, и в поток ошибок НИЧЕГО НЕ ПИШЕТСЯ.

На одну из кнопок (с focusPolicy = NoFocus) повесил тот же слот и после перехода по закладкам TabWidget нажав на нее вижу, что focusWidget() все равно LineEdit1.

почему не испускается сигнал lostFocus()?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 21.