Название: QMainWindow и аналог события OnShow [SOLVED] Отправлено: berrymorr от Март 01, 2009, 11:23 как можно ловить сигнал от QMainWindow, появляющийся сразу после показа формы?
Название: Re: QMainWindow и аналог события OnShow Отправлено: Армитаж от Март 01, 2009, 11:53 void QWidget::showEvent ( QShowEvent * event ) [virtual protected]
This event handler can be reimplemented in a subclass to receive widget show events which are passed in the event parameter. Non-spontaneous show events are sent to widgets immediately before they are shown. The spontaneous show events of windows are delivered afterwards. Note: A widget receives spontaneous show and hide events when its mapping status is changed by the window system, e.g. a spontaneous hide event when the user minimizes the window, and a spontaneous show event when the window is restored again. After receiving a spontaneous hide event, a widget is still considered visible in the sense of isVisible(). See also visible, event(), and QShowEvent. Название: Re: QMainWindow и аналог события OnShow Отправлено: Karl-Philipp от Март 01, 2009, 13:04 получается, что надо переопределить showEvent() и в нём эмитировать собственный сигнал появления QMainWindow?
Код
я правильно понял? ----------------------------------------------------------- ps Тему бы перенести из раздела "Работа с сетью" :) Название: Re: QMainWindow и аналог события OnShow Отправлено: lit-uriy от Март 01, 2009, 13:22 я делал так:
Код: bool MainWindow::event(QEvent *p_event) Название: Re: QMainWindow и аналог события OnShow Отправлено: Армитаж от Март 01, 2009, 15:23 получается, что надо переопределить showEvent() и в нём эмитировать собственный сигнал появления QMainWindow? Более логичного варианта как-то не придумывается.Название: Re: QMainWindow и аналог события OnShow Отправлено: berrymorr от Март 02, 2009, 07:50 спасибо!)
правда, не совсем то (оно происходит как раз перед показом формы), но всё равно работает)) понятнее всего показалось решение от terlan'а) Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: kuzulis от Март 02, 2009, 09:17 2berrymorr и 2terlan,
скажите, а в вашем примере компилятор не ругается варнингами на то, что в Код: void CustomMainWindow::showEvent ( QShowEvent * event ) Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: BRE от Март 02, 2009, 09:23 2berrymorr и 2terlan, Ругается.скажите, а в вашем примере компилятор не ругается варнингами на то, что в Код: void CustomMainWindow::showEvent ( QShowEvent * event ) Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: kuzulis от Март 02, 2009, 09:33 Но ведь это не есть хорошо?
Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: spirit от Март 02, 2009, 09:39 заюзай Q_UNUSED(event); и не будет ругаться
Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: Армитаж от Март 02, 2009, 09:54 Ещё можно опускать имя аргумента:
Код: void CustomMainWindow::showEvent(QShowEvent *) Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: lit-uriy от Март 02, 2009, 10:21 2 Армитаж, зато часто имя переменной оборачивают в коментарий:
( QShowEvent * /*event*/ ) Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: berrymorr от Март 03, 2009, 11:46 Ещё можно опускать имя аргумента... в одном из примеров kdevelop'а есть такое, кстати (кажется, "qt3 example") ;)Почему-то сам никогда не видел, что бы так писали. Название: Re: QMainWindow и аналог события OnShow [SOLVED] Отправлено: berrymorr от Март 03, 2009, 11:59 2berrymorr и 2terlan, ругается. простейший вариант - не использовать переменную event вообще (если ты не собираешься её использовать), т.е., оставить ( QShowEvent *) - cpp такое позволяет делать.скажите, а в вашем примере компилятор не ругается варнингами на то, что в Код: void CustomMainWindow::showEvent ( QShowEvent * event ) |