Название: Вызов основного окна из диалогового окна Отправлено: SpeedyWizard от Сентябрь 10, 2010, 17:10 Приветствую. Я пишу программу, которая работает с БД. В программе сначала появляется диалоговое окно, в котором запрашиваются авторизационные данные (логин, пароль, база). Я хочу, чтобы после этого появлялось основное окно. Общая структура программы такова:
1) класс AuthDialog (authdialog.cpp) - диалоговое окно авторизации; 2) класс ClientWindow (clientwindow.cpp)- основное окно; 3) main.cpp - запускалка. Мой ход действий таков: 1) делаю connect между кнопкой loginButton и методом AuthDialog::connectDb, где connectDb - метод, производящий подключение к БД; 2) в методе AuthDialog::connectDb я хочу сделать нечто вроде w.show(), где w - инстанс класса ClientWindow. Вся проблема заключается в том, что я не знаю, как вызвать w.show(), если w продекларирован в main и доступа из класса AuthDialog у меня к нему нет. Подскажите, пожалуйста, как это можно сделать. Название: Re: Вызов основного окна из диалогового окна Отправлено: Denjs от Сентябрь 10, 2010, 17:51 void QWidget::show () - это слот. К нему можноп подключить сигнал.
Источник сигнала не знает кто и где (в принципе даже когда) будет получателем этого сигнла. Объявили w в майне? ну отлично. Тут-же приконекте к нему сигнал от инстанса вашего AuthDialog. в AuthDialog::connectDb испустите ещё один сгнал - подключенный к show. Название: Re: Вызов основного окна из диалогового окна Отправлено: SpeedyWizard от Сентябрь 10, 2010, 18:10 Большое спасибо, буду пробовать.
|