Название: Как лучше пробросить модель в друой диалог? Отправлено: sector от Октябрь 08, 2009, 14:13 Есть некая форма, у нее есть своя модель и вью. При определенном событии или клике на вью или на кнопке должен открываться новый диалог с данными выбраными на вью. Подскажите каким более правильным способом лучше передать данные из модели? Всю обработку хотелось бы проводить в новом диалоге. Заранее благодарен)
Название: Re: Как лучше пробросить модель в друой диалог? Отправлено: CroCIV от Октябрь 09, 2009, 08:19 Можно указатель на модель сделать public, можно создать родительский класс с protected указателем на модель и унаследовать от него взаимодействующие с этой моделью классы, можно эти классы обьявить дружественными друг к другу и написать функцию получения указателя на модель, можно запихнуть указатель в конструктор нового класса, даже можно указатель кинуть во временный файл, или использовать QSettings, или QResource для хранения указателя, даже можно прокинуть указатель в базу данных на сервере ::), можно еще что-нибудь придумать, все зависит от той задачи которую ты решаешь и от того как ты хочешь реализовать ее ;D
Название: Re: Как лучше пробросить модель в друой диалог? Отправлено: ranet от Октябрь 09, 2009, 09:03 Можно указатель на модель сделать public..... можно запихнуть указатель в конструктор нового класса Я так и делаю ;), самый естественный в простейшем случае способ.. конечно по моему скромному мнению:) Код: //класс главного окошка приложения диалог редактирования должен получать этот указатель как параметр при вызове конструктора, то есть: Код: class Towns_dialog : public QDialog, public Ui::Towns_dialogClass При вызове конструктора передаем указателя: Код: //где-нибудь в главное_окошко.cpp Если используем QDataWidgetMapper, то с ним стоит обойтись так же, чтобы потом "спрятать" внутри конструктора нового класса привинчивание его к lineEdit'ам например. Название: Re: Как лучше пробросить модель в друой диалог? Отправлено: sector от Октябрь 09, 2009, 10:38 Огромное спасибо)) Этот вариант полностью подходит... он более естественен... а я было начал с QModelIndex заморачиваться))
|