![]() |
|
|
![]()
|
|
| GrishinUS |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
Добрый день!
Я тут народ из раздела "С++ для новичков" уже напугал, запощщу сюда, а то там что-то никто не отвечает. Да и вопрос правда больше по qt... В программе есть две формы. В первой заведено текстовое поле txt1. Как обратиться к этому полю из второй формы? первая форма : dialogimpl.h
фрагмент dialogimpl.cpp где доступно поле txt1
вторая форма : DoInImpl.h
пишу в методе WriteIntoInOut
ошибка при компиляции :
|
||||||||||
|
|||||||||||
| feanor59 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 24.1.2008 Где: Пермь Репутация: нет Всего: нет |
сигнал-слоты для того и существуют. это, имхо, самый правильный способ в твоей ситуации. можно конечно сделать видимым в классе DoInImpl объект класса DialogImpl, при этом txt1 должен быть пабликом (что не тру), либо должны быть публичные функции доступа к txt1, НО, опять же, так писать плохо). концепция подразумевает использование сигнал-слотов.
|
|||
|
||||
| fryConstantine |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
тут я согласен
а что плохого в том чтобы сделать паблик-метод?в этом вроде и заключается принцип инкапсуляции.... |
||||
|
|||||
| GrishinUS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
ок. Где делать connect()? В main? |
|||
|
||||
| feanor59 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 24.1.2008 Где: Пермь Репутация: нет Всего: нет |
2fryConstantine: мм, о паблик методах и речь. методы это функции класса (ну да, не мовсем традиционная трактовка, но в общем верная), а txt1 это данные, вот к данным паблик доступ давать не тру.
или ты имеешь ввиду, почему этот подход тут не уместен? ну, как я понимаю объект диалог не создаётся в DoInImpl, значит и видно его там быть не должно. почему так... мне кажется обратное семантической ошибкой (именно в контексте Qt и форм), т. е. так делать можно, но не с формами в кт зы хотя это имхо конечно. 2GrishinUS: connect писать там, где либо создаются обы объекта, либо там, где они обы видны. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |