Форум сайта python.su
MrViktorПонятное дело что фотошоп устроен несколько сложнее чем родительское-дочернее окно. Это просто самый банальный пример где нужно передавать данные из окна не закрывая его. Смысл его что вы делаете какието изменения в дочернем окне : изменяете ползунок яркости/прозрачности/частоты/амплитуды/НЕХ, убираетеставите галочку показать\скрыть, меняете размер шрифта, количтество столбцов-колонк, размер ячеек в сетке, еще какунить опцию и сразу видите изменения, если вас все устраивает жмете ОК и закрываете окно, если нет еще раз меняете пока не достигнете нужного результата.
Я думаю, что тут другое поведение, а именно рисунок - это данные (модель), холст и прочее это представления и делегаты. Дальше думаю не стоит продолжать, все таки немного не по теме.
[code python][/code]
Офлайн
MrViktorСобственно Pendom основной смысл передал.
Извиняюсь, но я даже не представляю таких конверторов и калькуляторов. К примеру есть некая программа с главным окном (родитель), из нее вызываем конвертер (дочернее). В дочернем мы что-то конвертируем и возвращаем родителю, так? Но зачем оставлять открытым дочернее окно?
Отредактировано Kyrym (Март 10, 2017 10:47:59)
Офлайн
PEHDOMВы не поняли моего ответа, с моделью данных может работать несколько представлений. Таким образом дочернее не чего не передает родителю, родитель просто отображает изменения из модели сделанные дочерним окном. Извиняюсь если не совсем понятно объясняю.
Это просто самый банальный пример где нужно передавать данные из окна не закрывая его.
KyrymА не проще сделать в дочернем просто поля ввода, а расчет по ним пусть производит родитель? Думаю так гораздо проще, родитель получил данные полей дочернего окна, произвел расчет площади ну и дальнейшие манипуляции.
Допустим, что дочернее окно считает площадь многогранной фигуры, на описание которой нужно с десяток полей.
Программа родитель рассчитывает стоимость покраски этой фигуры, используя тоже десяток полей - входных данных. Однако родителю нужна площадь для запуска расчёта.
Офлайн
MrViktorТ.е передавать родителю не одну переменную, а десяток? Даже не в этом дело, всё равно данные нужно передавать, не закрывая дочернее окно.
А не проще сделать в дочернем просто поля ввода, а расчет по ним пусть производит родитель? Думаю так гораздо проще, родитель получил данные полей дочернего окна, произвел расчет площади ну и дальнейшие манипуляции.
Офлайн
MrViktorДа нет, я прекрасно вас понял, но ИМХО какая разница как это просходит? Передат ли дочернее окно данные прямо родителю, или оно эти данные передает/модифицирует модели, а уже оотуда инициируется изменения родительского окна(или оно само видит что данные поменялись и соответвенно реагирует). Суть то не меняеться. Дочернее окно изменяя данные остается открытым.
Вы не поняли моего ответа, с моделью данных может работать несколько представлений. Таким образом дочернее не чего не передает родителю, родитель просто отображает изменения из модели сделанные дочерним окном. Извиняюсь если не совсем понятно объясняю.
[code python][/code]
Отредактировано PEHDOM (Март 10, 2017 12:29:03)
Офлайн
KyrymНе передавать, чтоб родитель (кнопка расчет площади на форме родителя) брал данные из полей сам (у дочернего только кнопка закрыть и куча полей) тогда закрывать ничего не нужно. Может я конечно ошибаюсь, с Qt еще плохо знаком, но мне кажется так проще.
Т.е передавать родителю не одну переменную, а десяток?
Офлайн
> ну-ну…
Вот по этому тебе и бесполезно помогать. Ты всё равно никого не послушаешь.
> имхо усложняешь задачу делай коннект в приложении
У тебя на диалоге 100500 виджетов. Ты их все подключать будешь?
Офлайн
RodegastНе-нет, это не моя задача (не топик стартер), я просто рассуждал так сказать, чтоб почерпнуть на будущее полезной инфы и не надо так категорично. Вот от вас и поступила критика к которой грех не прислушаться, ну на 100500 полей я не рассчитывал (полей 10 от силы) коннект в плане сигнал слот?
Вот по этому тебе и бесполезно помогать. Ты всё равно никого не послушаешь.
Офлайн
> Не-нет, это не моя задача
Я это Kyrym-у писал.
> ну на 100500 полей я не рассчитывал (полей 10 от силы) коннект в плане сигнал слот?
Да это connect. Смысл в том что если нужно соединить 2 виджета, то это реально, но если их даже 10 на окно, то начнутся проблемы. Да и к чему ты их подключать будешь? К виджетам в основном окне?
P.S. На самом деле задача довольно лёгкая.
Отредактировано Rodegast (Март 10, 2017 15:38:11)
Офлайн
MrViktorСоль в том, что в моём случае дочернее окно может использоваться как независимая программа, поэтому логика должна присутствовать в дочернем.
Не передавать, чтоб родитель (кнопка расчет площади на форме родителя) брал данные из полей сам (у дочернего только кнопка закрыть и куча полей) тогда закрывать ничего не нужно. Может я конечно ошибаюсь, с Qt еще плохо знаком, но мне кажется так проще.
PEHDOMСовершенно верно.
Я думаю что у Kyrym в его программе тоже все не так просто, он просто набросал запускабельный пример и спросил: “как реализовать”?
RodegastДа ладно. Когда мне нормально отвечают, тогда я этим пользуюсь. И большое спасибо всем людям с форумов, что мне помогли. Благодаря им я уже написал несколько работающих программ, что дают мне требуемый результат.
Вот по этому тебе и бесполезно помогать. Ты всё равно никого не послушаешь.
Офлайн