Название: PyQt4: Как сделать окно всегда активным? Отправлено: linkerboker от Август 11, 2009, 09:45 Для примера отлично подходит QMessageBox. Когда появляется окошко QMessageBox с сообщением, остальные окна приложения блокируются и становятся некликабельными. Мне же нужно чтобы роль QMessageBox'а исполняла целая форма с кучей контролов (назовем ее, к примеру, login_form). Т.е. при появлении этой login_form другая форма (main_form) должна блокироваться и возвращать полученный фокус к login_form.
Я перепробовал довольно много вариантов. Все, до чего пока дошел: Код: # в объявлении класса login_form Это замечательно работает если фокус до его потери был на самом фоновом QWidget'е. Однако на login_form лежат еще и два QLineEdit'а (ln_email и ln_password). Как обработать потерю фокуса этими едитами так, чтобы он возвращался на login_form? При этом потерянный фокус может перейти и на другой контрол на этой же форме login_form (при этом, конечно, никакой фокус возвращать не надо). Интерфейс создавался в Qt Creator'e и переведен в питоновский модуль командой pyuic4 login_form.ui > login_form.py. Итого, сейчас я имею: Код: def focusOutEvent_form: Все это работает только если передать фокус другой форме. При передаче же фокуса другому контролу на этой же login_form начинаются непонятные глюки: фокус имеют сразу 2(!) QLineEdit'а. Да и выглядит как-то убого... вроде. Кто-нибудь знает прямой и понятный способ решить мою проблемку? Чувствую что легко и я не прав, но понятия не имею как. Название: Re: PyQt4: Как сделать окно всегда активным? Отправлено: LestorN от Август 11, 2009, 10:01 QDialog?
Название: Re: PyQt4: Как сделать окно всегда активным? Отправлено: linkerboker от Август 11, 2009, 10:08 LestorN:
Хм, почитал доки на trolltech... Да, мне нужно поведение modal QDialog'a. А на QDialog можно ложить контролы? А их у меня многовато для login_form для описания прямо в коде... Можно ли создавать QDialog'и в Qt Creator? Название: Re: PyQt4: Как сделать окно всегда активным? Отправлено: spectre71 от Август 11, 2009, 10:19 LestorN: ДаМожно ли создавать QDialog'и в Qt Creator? Название: Re: PyQt4: Как сделать окно всегда активным? Отправлено: linkerboker от Август 11, 2009, 10:21 Отлично, все остальное неважно, всем спасибо.
Название: Re: PyQt4: Как сделать окно всегда активным? Отправлено: linkerboker от Август 11, 2009, 10:46 Черт! Просто не замечал другие пункты, кроме "Widget" в меню "New"! А решение было под носом...
|