Russian Qt Forum
Сентября 09, 2025, 12:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qwizard  (Прочитано 4101 раз)
basya
Гость
« : Января 25, 2010, 07:08 »

добрый день) помогите, пожалуйста, решить проблему: с помощью qwizard надо создать диалог с пользователем. Еще в самом начале есть страница с выбором:
1) создать анкету1;
2) создать анкету2.
И в зависимости от выбора дальше идут разные страницы. Пока что реализовано в тупую: с помощью nextId переходим на нужную страницу. Этот вариант решения работает, но не нравится по двум причинам:
1) создаются все страницы, даже если в дальнейшем мы на них переходить не будем.
2) анкета1 очень похожа на анкету2, но тем не менее они отличаются (хотя по большей части отличия мелкие)... показалось глупо описывать каждую по отдельности, поэтому их было решено сделать наследниками, где в родителе - все, что есть у каждой анкеты, а у "ребенка"- его собственное.. но так теперь немного запутанно получилось... подскажите начинающему в этом деле как правильнее всего сделать.Заранее благодарю)
Записан
Urvin
Гость
« Ответ #1 : Января 25, 2010, 12:19 »

Может, лучше сделать свой виджет с динамическим выделением памяти и собственным сценарием?
Благо не трудно
Записан
basya
Гость
« Ответ #2 : Января 25, 2010, 13:11 »

не знаю... думаю пока что мне такое не по силам =(
Записан
DS_tm
Гость
« Ответ #3 : Января 25, 2010, 20:14 »

По первому пункту, проблему можно решить так, создовать и добавлять страницы по одной, когда они нужны, но зарание, чтобы визард финиш не предложыл. То есть когда пользователь на 1 стр, в визарде всего 2 страницы, при нажатии на "Далее" создаем и добавляем страницу 3 и переходим на страницу 2. Только надо учесть что пользователь может счелкнуть на "Назад", а потом "Далее", так что нужна проверка.

На счет второго пункта непонятно. Что подразумеваеться под "анкетой"? Внешний вид или данные?
Записан
basya
Гость
« Ответ #4 : Января 26, 2010, 12:14 »

По первому пункту, проблему можно решить так, создовать и добавлять страницы по одной, когда они нужны, но зарание, чтобы визард финиш не предложыл. То есть когда пользователь на 1 стр, в визарде всего 2 страницы, при нажатии на "Далее" создаем и добавляем страницу 3 и переходим на страницу 2. Только надо учесть что пользователь может счелкнуть на "Назад", а потом "Далее", так что нужна проверка.

я понимаю, что это делать с помощью initializePage () ? или нет? просто что-то мне кажется,что такая каша в коде будет,что потом никто не разберется =(
Записан
basya
Гость
« Ответ #5 : Января 26, 2010, 12:15 »

На счет второго пункта непонятно. Что подразумеваеться под "анкетой"? Внешний вид или данные?

анкета - поля, в которые пользователь вводит данные. В обеих анкетах большинство полей одни и те же
Записан
DS_tm
Гость
« Ответ #6 : Января 26, 2010, 12:22 »

я понимаю, что это делать с помощью initializePage () ? или нет? просто что-то мне кажется,что такая каша в коде будет,что потом никто не разберется =(

Да, через нее, ну а каша зависит от реализации. Есть люди которые и Hello World в кашу превратят). А вообще, не понятно, почему Вы так за ресурсы переживаете, у вас анкета очень большая?
Записан
DS_tm
Гость
« Ответ #7 : Января 26, 2010, 12:25 »

На счет второго пункта непонятно. Что подразумеваеться под "анкетой"? Внешний вид или данные?

анкета - поля, в которые пользователь вводит данные. В обеих анкетах большинство полей одни и те же

Эти классы наследуються от QWizard'a, QWidget'a или содержат агрегацию QWidget'ов?
Вообщем выложете инерфейс классов.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.027 секунд. Запросов: 20.