Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: TheMixa от Август 31, 2010, 16:20



Название: QPlainTextEdit и потеря фокуса
Отправлено: TheMixa от Август 31, 2010, 16:20
Есть ли способ отловит потерю фокуса виджетом QPlainTextEdit? Как например QLineEdit есть сигнал editingFinished()  который для этого подходит. Делаю визуальную часть по работе с формами документов и необходимо после завершения ввода текста в multiline поле скрыть виджет и отрнедерить изменения. Пока отлавливаю по событию mousePress в родительском виджете(визуальная форма) но потенциально это не годится потомучто фокус можно сменить клавой или же кликнуть например в меню.


Название: Re: QPlainTextEdit и потеря фокуса
Отправлено: Пантер от Август 31, 2010, 16:27
void QWidget::focusOutEvent ( QFocusEvent * event )   [virtual protected]


Название: Re: QPlainTextEdit и потеря фокуса
Отправлено: Pretorean от Август 31, 2010, 16:34
*protected*


Название: Re: QPlainTextEdit и потеря фокуса
Отправлено: BRE от Август 31, 2010, 16:39
*protected*
installEventFilter()


Название: Re: QPlainTextEdit и потеря фокуса
Отправлено: break от Сентябрь 01, 2010, 01:02
Совсем недавно делал аналогичное!!!

Тоже надо было сохранять данные введенные в QTextEdit без излишних действий пользователя.

Сделал так: У QApplication есть сигнал focusChanged( QWidget * old, QWidget * new) - ловлю его и если old наш QTextEdit - то соответствующие действия.

Считаю что наследование и реализация protected методов для такого излишние хлопоты...