7 / 7 / 0
Регистрация: 08.10.2015
Сообщений: 126
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Передача значения переменной из одной формы в другую22.01.2016, 22:01. Показов 3522. Ответов 8
Метки нет (Все метки)
Доброго времени суток Форумчане. Столкнулся с такой проблемой что мне нужно передать данные с одной формы на другую. Нашёл как это делается с помощью сигналов и слотов, но не очень понял как оно работает. Понял что по нажатию кнопки порождается сигнал который открывает дочернюю форму из которой введённые в неё данные возвращаются в форму вызова. Мне же нужно понять как сделать так чтобы данные передавались не в точку вызова, на наоборот. т.е. нажимаем кнопку, к кнопке прикручен код который вызывает форму и переменная с данными которые мы туда отсылаем.
0
|
22.01.2016, 22:01 | |
Ответы с готовыми решениями:
8
Передача значения переменной из формы в другую Передача данных с одной формы на другую Передача данных из одной формы в другую Передать значение переменной из одной функции в другую |
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|||||||||||
23.01.2016, 12:46 | 2 | ||||||||||
Если нужно из
MainWindow::replyFinished() инициализировать Dialog, то проще передать нужные параметры в конструктор.
1
|
7 / 7 / 0
Регистрация: 08.10.2015
Сообщений: 126
|
|
23.01.2016, 13:01 [ТС] | 3 |
Нет, вы не поняли. Нужно если возможно данные которые получаются в replyFinished() передать в Dialog.
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|||||||||||
23.01.2016, 13:11 | 4 | ||||||||||
Ну так передавайте эти данные
0
|
7 / 7 / 0
Регистрация: 08.10.2015
Сообщений: 126
|
||||||
23.01.2016, 13:51 [ТС] | 5 | |||||
Поставлю вопрос немного по другому. Если я вас правильно понял то
0
|
7 / 7 / 0
Регистрация: 08.10.2015
Сообщений: 126
|
|
23.01.2016, 14:18 [ТС] | 6 |
Что не так ???
0
|
68 / 68 / 17
Регистрация: 20.01.2015
Сообщений: 347
|
||||||
23.01.2016, 22:57 | 7 | |||||
У вас в конструкторе диалога передается два обязательных параметра - QByteArray& и QWidget* . При вызове конструктора эти поля не прописаны. Вместо них - пустые скобки конструктора по умолчанию, который не прописан. И зачем передавать ссылку на QByteArray?
И вообще, советую [URL=http://doc.qt.io/qt-5/qdialog.html]прочитать[\URL] как работать с диалогами.
0
|
72 / 72 / 33
Регистрация: 07.11.2015
Сообщений: 281
|
|
24.01.2016, 15:56 | 8 |
Сообщение было отмечено Wolf_Lone как решение
Решение
Передает он данные в коде, который я изначально предложил.
Если что, ни в одном куске кода (ни вашем, ни моем) для передачи информации не использовались сигналы и слоты. Соответственно тут действуют обычные правила С++. getText() возвращает данные в код, который его вызвал (в вашем примере строчка 55 возвращает результат в никуда). Чтобы Dialog эти данные увидел, предлагается передавать их в конструкторе Dialog .Dialog::slotAccepted() не выполняется, т.к. его никто не вызывает как метод (он, кстати, в этом случае упадет.. угадайте почему ) и он ни к кому не подключен как слот.Если использовать сигналы/слоты не обязательно, то подправьте свой код под любое из моих предложений. Если обязательно, то прочитайте про сигналы хотя бы тут. Потом добавьте сигнал, информирующий о наличии данных в MainWindow, слот, обрабатывающий эти данные, в Dialog, соедините их и испустите добавленный сигнал с нужными данными.
2
|
7 / 7 / 0
Регистрация: 08.10.2015
Сообщений: 126
|
|||||||||||||||||||||
26.01.2016, 12:48 [ТС] | 9 | ||||||||||||||||||||
Я вас понял, получилось примерно так. Функционал который требовался от кода выполняется.
Кликните здесь для просмотра всего текста
Тему можно считать закрытой
0
|
26.01.2016, 12:48 | |
26.01.2016, 12:48 | |
Помогаю со студенческими работами здесь
9
Переход с одной формы на другую Передать данные из одной формы в другую Вызов одной формы через другую. Как передавать данные от одной формы в другую ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |