![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
basya |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.1.2010 Пользователь №: 1406 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
добрый день) помогите, пожалуйста, решить проблему: с помощью qwizard надо создать диалог с пользователем. Еще в самом начале есть страница с выбором:
1) создать анкету1; 2) создать анкету2. И в зависимости от выбора дальше идут разные страницы. Пока что реализовано в тупую: с помощью nextId переходим на нужную страницу. Этот вариант решения работает, но не нравится по двум причинам: 1) создаются все страницы, даже если в дальнейшем мы на них переходить не будем. 2) анкета1 очень похожа на анкету2, но тем не менее они отличаются (хотя по большей части отличия мелкие)... показалось глупо описывать каждую по отдельности, поэтому их было решено сделать наследниками, где в родителе - все, что есть у каждой анкеты, а у "ребенка"- его собственное.. но так теперь немного запутанно получилось... подскажите начинающему в этом деле как правильнее всего сделать.Заранее благодарю) |
|
|
vadim303 |
![]()
Сообщение
#2
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 18.1.2010 Пользователь №: 1382 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Посмотри пример в документации Extension Example. Там с помощью кнопки more делают невидимой часть диалога. В твоём случае переключателем будет выбор на предыдущей странице. Обе анкеты делай на одной странице, а по этому переключателю делай видимыми или невидимыми различающиеся части.
|
|
|
basya |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.1.2010 Пользователь №: 1406 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
в таком случае разве будет не тоже самое, если, например, не заморачиваться с видимой\невидимой частью и сделать так: на странице выбора анкеты запоминаем в глобальную переменную choice наш выбор. Далее переходим на следующую страницу и смотрим:
if (choice == "anketa1") {выводим анкету1} else {выводим анкету2} Но правильно ли так делать? т.е. работать то точно будет,но это будет такой некрасивый код...хотелось бы сразу учиться как надо.. |
|
|
vadim303 |
![]()
Сообщение
#4
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 18.1.2010 Пользователь №: 1382 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Трудно сказать как правильнее сделать. Всё зависит от структуры данных и степени их различия. Я предложил вариант, подходящий, на мой взгляд, в случае незначительности различий между наборами данных 1-го и 2-го вариантов. А уж вам решать что будет лучше - две разных статических страницы делать или одну общую но динамически изменяющуюся. А может и ещё кто варианты какие предложит...
|
|
|
basya |
![]()
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.1.2010 Пользователь №: 1406 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
данные отличаются процентов так на 80... ищу варианты, как лучше сделать, но вот кроме этого пока ничего нового (
неужели никто не сталкивался с таким? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
basya, смотри Ежеквартальник Qt, там есть пример про заказ билетов на паром, возможно тебе пригодится.
П.С. частично переведён |
|
|
basya |
![]()
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.1.2010 Пользователь №: 1406 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
спасибо) к сожалению, не совсем то,что хотелось бы..(
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 9:37 |