Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: qwizard
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
basya
добрый день) помогите, пожалуйста, решить проблему: с помощью qwizard надо создать диалог с пользователем. Еще в самом начале есть страница с выбором:
1) создать анкету1;
2) создать анкету2.
И в зависимости от выбора дальше идут разные страницы. Пока что реализовано в тупую: с помощью nextId переходим на нужную страницу. Этот вариант решения работает, но не нравится по двум причинам:
1) создаются все страницы, даже если в дальнейшем мы на них переходить не будем.
2) анкета1 очень похожа на анкету2, но тем не менее они отличаются (хотя по большей части отличия мелкие)... показалось глупо описывать каждую по отдельности, поэтому их было решено сделать наследниками, где в родителе - все, что есть у каждой анкеты, а у "ребенка"- его собственное.. но так теперь немного запутанно получилось... подскажите начинающему в этом деле как правильнее всего сделать.Заранее благодарю)
vadim303
Посмотри пример в документации Extension Example. Там с помощью кнопки more делают невидимой часть диалога. В твоём случае переключателем будет выбор на предыдущей странице. Обе анкеты делай на одной странице, а по этому переключателю делай видимыми или невидимыми различающиеся части.
basya
в таком случае разве будет не тоже самое, если, например, не заморачиваться с видимой\невидимой частью и сделать так: на странице выбора анкеты запоминаем в глобальную переменную choice наш выбор. Далее переходим на следующую страницу и смотрим:
if (choice == "anketa1")
{выводим анкету1}
else {выводим анкету2}

Но правильно ли так делать? т.е. работать то точно будет,но это будет такой некрасивый код...хотелось бы сразу учиться как надо..
vadim303
Трудно сказать как правильнее сделать. Всё зависит от структуры данных и степени их различия. Я предложил вариант, подходящий, на мой взгляд, в случае незначительности различий между наборами данных 1-го и 2-го вариантов. А уж вам решать что будет лучше - две разных статических страницы делать или одну общую но динамически изменяющуюся. А может и ещё кто варианты какие предложит...
basya
данные отличаются процентов так на 80... ищу варианты, как лучше сделать, но вот кроме этого пока ничего нового (
неужели никто не сталкивался с таким?
Litkevich Yuriy
basya, смотри Ежеквартальник Qt, там есть пример про заказ билетов на паром, возможно тебе пригодится.

П.С. частично переведён
basya
спасибо) к сожалению, не совсем то,что хотелось бы..(
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.