QWizard, динамическое построение списка страниц |
Здравствуйте, гость ( Вход | Регистрация )
QWizard, динамическое построение списка страниц |
FladeX |
10.3.2009, 23:49
Сообщение
#1
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
При помощи QWizard создана программа - набор страниц, связанных "назад"/"далее" кнопками.
Задача - при помощи чекбоксов, выводимых на первой странице, выводить или не выводить последующие страницы. Как это реализовать? Т.е. на первой странице чекбоксы "страница 2", "страница 3", "страница 4". Если мы отмечаем "страница 2" и "страница 4", то по нажатию "далее" будет показана страница 2, а затем 4, то есть страница 3 будет пропущена. |
|
|
FladeX |
13.3.2009, 15:37
Сообщение
#2
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Какие-нибудь идеи есть?
|
|
|
SABROG |
13.3.2009, 16:23
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Такая есть идея http://doc.trolltech.com/4.5/qwizard.html#...-linear-wizards
Сообщение отредактировал SABROG - 13.3.2009, 16:32 |
|
|
FladeX |
17.3.2009, 17:25
Сообщение
#4
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Теперь такой вопрос - как из первого листа назначить nextId() для всех остальных? Пробовал по-всякому, результата нет(
и аналогичный Func02Page. Нужно в
изменить nextId() для Func02Page. Как это сделать? |
|
|
FladeX |
19.3.2009, 15:24
Сообщение
#5
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Так и не понял, как обращаться к enum {}... В документации нашел такую фразу: Цитата If you want to register an enum that is declared in another class, the enum must be fully qualified with the name of the class defining it. In addition, the class defining the enum has to inherit QObject as well as declare the enum using Q_ENUMS(). Подскажите плиз. Сообщение отредактировал FladeX - 19.3.2009, 15:25 |
|
|
AD |
19.3.2009, 15:40
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
В данном случае лучше, чтобы enum имел иия. Например, так:
Тогда можно будет использовать в качестве типа: .Если же Вы имели что-то другое, то, пожалуйста, конкретнее проблему опишите! |
|
|
kwisp |
19.3.2009, 15:42
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
FladeX |
19.3.2009, 15:55
Сообщение
#8
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
На основе этого примера сделал визард. Но отличие в том, что на первой странице список чекбоксов, которые и определяют, какие страницы будут показаны, а какие нет. Собственно проблема в том, что кроме первой страницы я не могу ничего изменить...
Итак, есть класс: код класса
Есть первая страница с чекбоксами: первая страница
Enum с страницами связан так: конструктор
Как теперь изменить значение int nextId() const к примеру для Page_Func27 ? Изменять отсюда (ибо чекбоксы только на первой странице):
Сообщение отредактировал FladeX - 19.3.2009, 15:57 |
|
|
FladeX |
20.3.2009, 20:47
Сообщение
#9
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ну подскажите же эту строчку)
|
|
|
kwisp |
21.3.2009, 10:04
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
FladeX,
по аналогии действуй Раскрывающийся текст
It would also be possible to put all the logic in one place, in a QWizard::nextId() reimplementation. For example:
получается тебя надо вернуть Page_Outro или я так чего то и не понял. Сообщение отредактировал kwisp - 21.3.2009, 10:10 |
|
|
Текстовая версия | Сейчас: 8.1.2025, 11:47 |