Название: Возврат данных из Диалога Отправлено: Vlad от Ноябрь 11, 2009, 23:44 Есть 2 диалога, один вызывается из другого.
класс 1 диалога: --------------------------------------------- class GroupsDialog : public QDialog { Q_OBJECT Q_DISABLE_COPY(GroupsDialog) public: explicit GroupsDialog(QWidget *parent = 0); virtual ~GroupsDialog(); protected: virtual void changeEvent(QEvent *e); private: Ui::GroupsDialog *m_ui; private slots: void on_PlusAct_pressed(); }; класс 2 диалога: --------------------------------------------- class AddActDialog : public QDialog { Q_OBJECT Q_DISABLE_COPY(AddActDialog) public: explicit AddActDialog(QWidget *parent = 0); virtual ~AddActDialog(); protected: virtual void changeEvent(QEvent *e); private: Ui::AddActDialog *m_ui; private slots: void on_buttonBox_accepted(); }; --------------------------------------------- создается 1 диалог: .................... GroupsDialog *dlg = new GroupsDialog(this); dlg->show(); .................... GroupsDialog::GroupsDialog(QWidget *parent) : QDialog(parent), m_ui(new Ui::GroupsDialog) { m_ui->setupUi(this); //из него вызываем 2 диалог, из которого нужно возвратить результат AddActDialog *dlg = new AddActDialog(this); dlg->show(); } Как мне вернуть результат из 2 диалога в первый, при закрытии 2 диалога? Название: Re: Возврат данных из Диалога Отправлено: Kolobok от Ноябрь 11, 2009, 23:58 Код: dlg->exec(); Название: Re: Возврат данных из Диалога Отправлено: Vlad от Ноябрь 12, 2009, 01:55 Код: dlg->exec(); это немного не то, exec возвращает DialogCode - Accepted, Rejected. А мне надо вернуть свои данные обработанные этим диалогом %) Название: Re: Возврат данных из Диалога Отправлено: Alex Custov от Ноябрь 12, 2009, 02:05 Код: dlg->exec(); это немного не то, exec возвращает DialogCode - Accepted, Rejected. А мне надо вернуть свои данные обработанные этим диалогом %) Я перезаписываю exec(), плюс создаю дополнительный метод, который возвратит нужные мне данные: Код
использование соответственно Код
Название: Re: Возврат данных из Диалога Отправлено: Igors от Ноябрь 12, 2009, 12:41 Проще говоря, после выполнения exec сам диалог еще жив (просто hidden) и из него можно брать все что надо
Название: Re: Возврат данных из Диалога Отправлено: Павел_F. от Ноябрь 12, 2009, 15:44 именно так. можно даже ехес не переписывать
Код: MyDialog* dlg; |