Название: Получить указатель главного окна Отправлено: Boris от Сентябрь 06, 2009, 10:02 Товарищи у кого есть подскажите как лучше быть с главным окном приложения
1. Таскать за собой на него указатель (в переменной типа MainWindow *mw объявленной глобально). 2. Или же его как-то элегантно можно получить Код: qApp->mainWidget() Код: qApp->desktop(); в main у меня Код: QApplication a(argc, argv); Название: Re: Получить указатель главного окна Отправлено: BRE от Сентябрь 06, 2009, 10:33 QWidgetList QApplication::topLevelWidgets () [static]
Возвращает список окон верхнего уровня, если у тебя такое окно одно, то можно сделать что-то типа: Код
Можно самому сохранять указатель на главное окно: Код
Думаю еще много чего можно придумать. Название: Re: Получить указатель главного окна Отправлено: Boris от Сентябрь 06, 2009, 11:06 Спасибо, topLevelWidgets помогло
Название: Re: Получить указатель главного окна Отправлено: vdann от Сентябрь 06, 2009, 19:35 ...второй вариант конечно предпочтительней, называется Singleton...
...такой прием удобно использовать для объектов, которые должны существовать в одном экземпляре в пределах одного приложения... Название: Re: Получить указатель главного окна Отправлено: set от Сентябрь 07, 2009, 07:05 ...второй вариант конечно предпочтительней, называется Singleton... ...такой прием удобно использовать для объектов, которые должны существовать в одном экземпляре в пределах одного приложения... не везде и не всегда... синглетоны можно использовать только там где ничего другого не остается... в бльшинстве случаев проблему можно решить куда более естественным способом... к тому же если вы так обожаете синглетоны то надо вам сказать что в первом способе скорее всего применяеся уже написаный шаблон Реестр, который является частным случаем синглетона |