Название: Обмен данными между формами Отправлено: Cerbere от Сентябрь 29, 2011, 22:36 Добрый день!
Допустим есть основное окно программы, есть отдельное окно (форма) для ввода настроек для основной программы. Как передать около 10 значений формы в основную программу? Для каждого контрола ввода создавать сигнал-слот? Название: Re: Обмен данными между формами Отправлено: Rem Norton от Сентябрь 29, 2011, 22:54 Не обязательно. Можно так:
Допустим на форме есть виджеты типа QLineEdit в количестве 10 штук (edLine1, edLine2, ... , edLine10) В объявлении "отдельно окна для ввода настроек" пшем типа: Код
потом в слоте основного окна: Код
Суть ясна? Название: Re: Обмен данными между формами Отправлено: Cerbere от Сентябрь 29, 2011, 23:05 Да, ясно. Спасибо, попробую!
Что, если много разных типов элементов управления? Просто для каждого типа контролов делать такую обработку? Или есть еще более универсальный способ обмена данными? Название: Re: Обмен данными между формами Отправлено: Rem Norton от Сентябрь 29, 2011, 23:14 Все-таки суть не уловил. Поясняю:
Когда создается класс формы, то при применении множественного публичного наследования все виджеты на форме доступны из родительского класса. Т.е. в данном случае, если пишем: Код
то в том месте, где вызывается этот самый QSettingsDlg, будут доступны все его виджеты. И не важно, какого они типа. P.S. Или это я чего-то недопонял... Задача стоит как: по кнопке (ну или другому событию) поднять диалог настроек и получить оттуда кучу данных? Название: Re: Обмен данными между формами Отправлено: andrew.k от Сентябрь 30, 2011, 00:48 Если я правильно тебя понял, то ты все правильно понял. Теперь тебе остается только это осознать и обдумать.
Norton тебе уже дал решение, которое тебя интересует. Изучи его. И не стоит называть свои собственные классы с буквы Q. Название: Re: Обмен данными между формами Отправлено: Andrew Vladoff от Октябрь 04, 2011, 20:40 Можно делать проще. Объявить глобальные переменные и через class QSettings писать /читать их. Для меня так так наглядней
Название: Re: Обмен данными между формами Отправлено: andrew.k от Октябрь 05, 2011, 09:36 А можно еще писать в файл или отправлять по сети. ;D
Не говори глупости. Название: Re: Обмен данными между формами Отправлено: Andrew Vladoff от Октябрь 05, 2011, 20:21 Цитировать А можно еще писать в файл или отправлять по сети. не понимаю чем плох вариант сохранения настроек в реестре или в ini файле? Вызвал окно настроек, при закрытии его сохранил настройки и всё. Не говори глупости. Название: Re: Обмен данными между формами Отправлено: Rem Norton от Октябрь 05, 2011, 21:42 Цитировать А можно еще писать в файл или отправлять по сети. не понимаю чем плох вариант сохранения настроек в реестре или в ini файле? Вызвал окно настроек, при закрытии его сохранил настройки и всё. Не говори глупости. Это был стёб, а если серьезно, то не зачем усложнять простые вещи. Название: Re: Обмен данными между формами Отправлено: andrew.k от Октябрь 05, 2011, 22:02 Цитировать А можно еще писать в файл или отправлять по сети. не понимаю чем плох вариант сохранения настроек в реестре или в ini файле? Вызвал окно настроек, при закрытии его сохранил настройки и всё. Не говори глупости. Прочитай название темы. И ответ уже был дан. |