Название: [РЕШЕНО] событие открытия\инициализации формы Отправлено: unkeep от Июль 29, 2013, 12:14 Какое событие слушать в случае, если надо подключиться к бд и вычитать данные ПОСЛЕ инициализации и открытии виджета? ??? У меня сча все эти действия в конструкторе окна, а я хочу чтобы окно сначала показалось, а уже потом пошла загрузка из базы.
Название: Re: событие открытия\инициализации формы Отправлено: kambala от Июль 29, 2013, 12:57 showEvent
Название: Re: [РЕШЕНО] событие открытия\инициализации формы Отправлено: Alex Custov от Август 01, 2013, 13:40 Код: QTimer::singleShot(0, this, SLOT(slotDelayedInit())); В слоте slotDelayedInit() читаешь данные. Название: Re: [РЕШЕНО] событие открытия\инициализации формы Отправлено: kambala от Август 01, 2013, 14:10 так все-таки какой подход правильнее: showEvent или таймер?
Название: Re: [РЕШЕНО] событие открытия\инициализации формы Отправлено: Alex Custov от Август 01, 2013, 14:28 я считаю традиционным подход с таймером, это даже было в рекомендациях к написанию программ с тяжёлой инициализацией то ли у КДЕ-шников, то ли у троллей. Более того, showEvent посылается перед тем как окно показано, а не после, а это значит, что окно не будет показано на экране до тех пор пока не закончится вызов showEvent() (не тестировал). Также showEvent() будет вызываться каждый раз как ты сворачиваешь/разворачиваешь окно, а это значит нужно заводить переменную типа bool initizlized по которой смотреть нужно делать инициализацию программы ли нет.
|