| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Удаленный доступ к виджетам |
| Автор: gordmiand 4.3.2010, 11:46 |
| Допустим есть 3 формы в приложении (а вообще больше): 1.mainwindow – главная форма, в виджеты которой грузятся разные формы… 2.form2 – дочерняя форма – загр-ся во фрейм main_frame формы mainwindow… 3.form3 – тоже загружается в mainwindow и управляет работой формы form2… Для загрузки формы (form2) в mainwindow создаю указатель на экземпляр класса form2 и в качестве параметра конструктора данного класса в качестве родителя указываю main_frame… Вопрос: а как мне работать с виджетами формы form2 из формы form3: что мне указывать в качестве параметра конструктора (т.е. родителя) при создании на форме form3 указателя на экземпляр класса form2? Какой-либо виджет формы form3 я указать не могу, так как тогда вся form2 загрузится в этот виджет на form3, что мне не надо (а надо просто иметь программный доступ к виджетам формы form2 в сигналах виджетов формы form3). Можно конечно и так поступить (загрузить form2 в form3), сделав затем данному экземпляру формы form2 hide(), но это как-то не очень хорошо…Если ничего не указывать в качестве параметра конструктора класса form2, то ничего не работает (см. экземпляр ss в архиве программы), а сделать конструктор у form2 без параметров я не могу, так как в качестве данного параметра я указываю виджет формы mainwindow, в который загружается форма form2 (см. п.2 выше)…В прилагаемом архиве программы нет form3, а есть попытка использовать указатель на экземпляр ss формы form2 без указания параметра… Подскажите программно как лучше решить обозначенную выше проблему? |
| Автор: gordmiand 4.3.2010, 15:49 |
| неужели никто не знает? помогите пожалуйста.... |
| Автор: andrew_121 4.3.2010, 18:50 |
| посмотрел ваш код, и нифига не понял, что вы хотите сделать. из того что вы описали, только еще больше путаешься. опишите в двух словах, что хотите сделать? |
| Автор: gordmiand 4.3.2010, 23:08 |
| подредактировал прогу - см. архив.... главная цель - хочу иметь доступ к виджетам формы form2 из формы form3 (хочу по щелчку кнопки на form3 спрятать форму form2)...form2, form3 предварительно грузятся на форму mainwindow в различные виджеты...остальное - см. мое первое сообщение в данной теме... я свою задачу решил, но это реализовано из формы mainwindow (см. в ее конструкторе connect... ), что нежелательно, так как mainwindow используется только как контейнер для отображения сразу нескольких различных форм на одном экране, а все управляющие работой приложения программные коды должны быть в соответствующих формах (их сигналах и т.п.)...подскажите программно (прямо в архиве программы) как решить сию задачку? (см. архив - я так понимаю, что из form3 надо как-то добраться до exz1 из MainWindow и через него действовать (делать ему hide), а может и не так: может как-то проще и лучше можно сделать, но кааак???) |
| Автор: gordmiand 5.3.2010, 06:30 |
| SABROG: ммм |
| Автор: SABROG 5.3.2010, 09:51 |
| Ты правильно делал, когда вызывал connect() в конструкторе MainWindow. |
| Автор: gordmiand 6.3.2010, 20:04 |
| пасиба за овтеты...пока все.... |