-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
|
||||||
1 | ||||||
Отправка данных из дочерней формы(программно созданной) в главную форму12.02.2019, 20:21. Показов 3273. Ответов 8
Метки нет (Все метки)
Добрый вечер. Проблема в следующем: создал программно форму с двумя полями ввода и двумя кнопками.
Для второй кнопки "Закрыть" смог сделать закрытие формы без проблем:
Аналогичным образом я бы мог из дочерней отправить, но она программно создана, т.е. как ей сделать слот (если нужно)? В общем нужно наиболее оптимальное решение данной проблемы.
0
|
12.02.2019, 20:21 | |
Ответы с готовыми решениями:
8
Передача данных из дочерней формы в главную Передача данных из дочерней формы в главную Показать главную форму из дочерней не создавая новый объект Сделать главную форму дочерней формой другого окна |
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
|
|
12.02.2019, 22:05 | 2 |
Слот создаёшь в хедере главной формы, и коннектишь с сигналом в конструкторе главной формы. Там нужно в проекте правильно вторую форму добавить, что-бы они друг друга видели.
0
|
223 / 188 / 97
Регистрация: 15.04.2018
Сообщений: 718
|
||||||
12.02.2019, 22:17 | 3 | |||||
Дочернюю наследуешь от QDialog / QWidget / QMainWindow
Прописываешь сигнал
0
|
-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
|
|
12.02.2019, 23:23 [ТС] | 4 |
0
|
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
|
|||||||||||||||||||||
12.02.2019, 23:35 | 5 | ||||||||||||||||||||
form1.h
1
|
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
|
|
12.02.2019, 23:46 | 6 |
Скрин экрана:
0
|
-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
|
||||||
14.02.2019, 15:33 [ТС] | 7 | |||||
Это все конечно хорошо, спасибо за старания, но у меня форма создается программно в коде form1.cpp, т.е. у form2 нет хедера, чтобы там писать сигналы и слоты
Добавлено через 11 минут Создаю форму 2 таким образом:
0
|
683 / 458 / 160
Регистрация: 01.10.2015
Сообщений: 1,264
|
|
14.02.2019, 17:51 | 8 |
Сообщение было отмечено AkulPavel как решение
Решение
QMainWindow - главное окно, оно должно быть в единственном экземпляре. Это каркас/контейнер для типовых элементов программы - панель меню, статус-бар, панели инструментов, и т.д. Чтобы не "лепить" стандартные конструкции каждый раз, Qt предоставляет вам соответствующую заготовку. Второго "Главного Окна" не должно быть по определению, но именно это вы делаете первой же строкой.
Заголовочный файл понадобится, если вы определяете собственные сигналы/слоты, т.е. при описании наследника. Расширить функциональность можно не только при помощи наследования. Если динамическое конструирование формы является настолько критичным условием, то во многих случаях можно обойтись и предопределенными сигналами, а реакцию на получение, например, прописать в лямбдах. forms.zip
1
|
-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
|
|
15.02.2019, 23:32 [ТС] | 9 |
Согласен, думал об этом потом исправить, просто увидел такое в примере
Добавлено через 32 минуты 0x90h, Огромное спасибище
0
|
15.02.2019, 23:32 | |
15.02.2019, 23:32 | |
Помогаю со студенческими работами здесь
9
Вывод из дочерней формы в главную Qt передача данных из модальной формы в главную форму диалога Передача исключения из дочерней формы в главную Как передать текст из дочерней формы в главную? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |