|
521 / 411 / 77
Регистрация: 29.05.2018
Сообщений: 1,366
|
|
Как передавать массивы данных в QWizard между страницами?07.10.2025, 21:59. Показов 2212. Ответов 29
Метки нет (Все метки)
Добрый вечер.
Собственно, сабж. У меня на одной из страниц заполняется QTableView на один столбец (так удобнее, чем QListView, так как есть по дефолту разметка ячеек линиями). Таких вьюх пять штук. Хотелось бы это всё где-то на следующих шагах использовать. Но как? Передать дальше можно только простые поля типа текстового поля ввода или чекбокса. А мне нужно массив моделей с данными (или что?) передать. Внятного механизма в примерах нет. Можно, конечно, воспользоваться глобальными переменными. Но это, имхо, как-то топорно. Или вообще отказаться отказаться от визарда и пилить свой "визард" на подчинённых виджетах главному виджету, заменяя их по очереди по кнопке? Там, по крайней мере, спокойно можно будет использовать геттеры любых структур данных.
0
|
|
| 07.10.2025, 21:59 | |
|
Ответы с готовыми решениями:
29
Как перерисовать рамку в QWizard QWizard кнопка "Finish" QWizard flags |
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|||||||
| 11.10.2025, 00:26 | |||||||
|
схематично Кликните здесь для просмотра всего текста
2
|
|||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 11.10.2025, 01:11 | |||
|
Это только на самый крайний случай и то, если уже пришлось, значит проектирование было не самым удачным. Я про разделение ответственности и декомпозиции. Вот например все страницы визарда должны с данными из других. Значит эти данные должны бить не в них, а извне. Даже если они формируются в них, данные отдаются ответственному за это объекту. Другие страницы визарда запрашивают эти данные у того самого ответственного объекта, или ещё лучше, он их заполняет при открытии страницы. Чем больше виджеты(особенно подчиненные) будут знать про других, тем теснее будет связь и тем сложнее будет поддержка, модификация и масштабируемость кода(и отладка тоже). Нужно взять карандаш(или спец инструмент построения диаграмм) и разделить ответственности. Кто за что будет отвечать. И классика, данные отдельно - виджеты отдельно. Чем дальше они друг от друга, тем лучше. Это вопрос проектирования, но никак не конкретный для текущего обсуждаемого виджета. Добавлено через 1 минуту p.s. QWizard мне не нравится вообще, ни одна из его реализаций... Что это, для чего.... Добавлено через 2 минуты
1
|
|||
|
521 / 411 / 77
Регистрация: 29.05.2018
Сообщений: 1,366
|
||||
| 11.10.2025, 06:36 [ТС] | ||||
![]() Annemesski, SmallEvil, sdf45, перефразируя Холмса из известной ленты Масленникова про собаку Баскервилей: вот так начнёшь хотеть странного от кода, и уверуешь в паттерны программирования.
0
|
||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||
| 11.10.2025, 14:21 | |||||
|
Страницы визарда по прежнему могут отдавать данные извне и заполняться. Этого никто не отменял. Добавлено через 1 минуту Вот в этом и вопрос. Общие данные для Визарда - обычное дело. Почему это нигде(ни в одном фреймворке) не прикручен для этого механизм. ![]() Но в Qt, кажется нашел. Добавлено через 1 минуту А вот это не подойдет?
2
|
|||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
||||
| 11.10.2025, 14:40 | ||||
|
Переписал свой пример в варианте 21-го поста - выглядит более громоздко, надо подключать для каждой страницы заголовочник кастомного визарда, данные еще ж дублируются... Если надо-выложу, но я все же работал бы через поля визарда, раз они есть.
1
|
||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 11.10.2025, 15:00 | ||
|
Сформировать любой другой тип?
0
|
||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|||
| 11.10.2025, 15:37 | |||
|
SmallEvil, наверное, тут может быть 100500 вариантов...
Вот еще раньше Annemesski написал:
0
|
|||
|
371 / 227 / 53
Регистрация: 18.10.2017
Сообщений: 2,437
|
|||||||||||
| 11.10.2025, 16:47 | |||||||||||
|
sdf45, сейчас посмотрел в старой программе: там в meta.h есть строка
0
|
|||||||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 11.10.2025, 18:07 | |
|
peter_irich, не разбирался, не юзал. Может, неправильно понял назначение. Во всяком случае, насколько я понял при беглом просмотре доки-позволяет кастовать в/из QVariant свои типы, что уже полезно. Во всяком случае - это для данной темы оффтоп, наверное я зря упомянул, не зная контекста.
0
|
|
|
|
|
| 22.10.2025, 15:40 | |
|
Не знаю актуальна ли тема, но рискну предложить свой вариант (надеюсь я правильно понял суть проблемы), хотя он частично уже высказан другими форумитами. И так я бы отнаследовался от QWizard, включил в него все данные и модели, а классы наследники QWizardPage объявил бы его друзьями. Указатель на QWizard по хорошему должен передаваться в конструктор QWizardPage как parent, но это надо проверить. В любом случае этот указатель можно передать явно и любая страница будет иметь доступ к общим данным QWizard в любом месте и в любой момент.
0
|
|
| 22.10.2025, 15:40 | |
|
Как передавать данные от одной формы в другую ?
Как правильно передавать массив через сигнал-слот
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|