Найти - Пользователи
Полная версия: Перехват потери фокуса в PyQt4
Начало » GUI » Перехват потери фокуса в PyQt4
1
ZZZ
Привет всем!

Есть диалог с несколькими виджетами, нарисованный в дизайнере. Задача перехватить изменения фокуса. Если точнее его потерю.
Т.е. есть, например, TextEdit. В нём юзер что-то умное пишет… А потом берёт, да и переключается на LineEdit рядом. “Вот сволочь”, – думаем мы и выполняем какое-нить умное действие в объекте-родителе, например. Притом, надо перехватить именно потерю фокуса и при этом не имея доступа к классу объекта.
Это вообще реально?
poltergeist
Так как все обработчики событий в Qt являются защищенными (protected), их можно переопределить только в дочерних классах. Снаружи можно только встроить эвент фильтр и перехватывать события QFocusEvent: http://doc.trolltech.com/4.5/eventsandfilters.html#event-filters
ZZZ
Собственно уже разобрался… Я просто сходу не увидел QWidget.focusOutEvent… Хотя, кстати, смотрел в эту сторону – если хочешь что-то спрятать, положи на самое видное место и никто этого не найдёт. Никогда. :-)
Спасибо, poltergeist.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB