![]() |
|
![]() ![]() ![]() |
|
Avatarchik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2009 Репутация: нет Всего: нет |
Есть главное окно(WinMain), по нажатию кнопки открываться второе(Dialog) окно:
Нужно как-то получить доступ к переменной в окне WinMain, из окна Dialog. Как это осуществить? ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
вынести переменную в общее место, доступ к ней организовать через сигналы/слоты (предпочтительно) или самим главным окном после закрытия диалога.
|
|||
|
||||
Avatarchik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2009 Репутация: нет Всего: нет |
А можно короткий пример, пожалуйста
![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Передай нужные переменные в конструкторе Dialog'а
Это сообщение отредактировал(а) borisbn - 16.6.2011, 08:15 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Avatarchik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2009 Репутация: нет Всего: нет |
Спс, но мне нужно из диалога в Главную форму, а не наоборот...
![]() Читал что можно так
И потом можно получать все публичные переменные главного окна, но не работает... Это сообщение отредактировал(а) Avatarchik - 16.6.2011, 09:47 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
т.е., несмотря на название, ConfectionDialog не является Dialog'ом, а является QMainWindow ? Чего-то ты запутал совсем. Опиши задачу в целом. Кинь сюда простой пример: вот главная форма, вот переменные в ней, которые хотелось увидеть в диалоге, вот вызов диалога, вот то место в коде диалога, где нужен доступ к переменным главного окна. Или я не так понял ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Avatarchik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2009 Репутация: нет Всего: нет |
Вот: Test project
В файле mainwindow.h, есть переменые a,b,c. При нажатии на кнопку, в окне mainwindow, открываться confection(Окно) на нем тоже кнопка, во по нажатию этой кнопки надо задать значения переменным a,b,c в окне mainwindow... ![]() Спс. |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
теперь ясно. Создай в MainWindow слоты setA( int ), setB( int ) и setC( int ), а в confection соответствующие сигналы, свяжи их и emit'ай сигналы в confection::on_pushButton_clicked().
примерно так:
пару замечаний. 1. Зачем второе (дочернее) окно наследовано от QMainWindow ? 2. confectionDialog создайтся при помощи new, и нигде не удаляется -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Сделай слоты в MainWindow: setA(), setB(), setC(). В диалоге сделай слоты: changeA(), changeB(), changeC(). После создания диалога подключи эти сигналы к слотам. А при нажатии кнопок дергай сигналы.
|
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
bsa, нужно делать
![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |