QWizard, динамическое построение списка страниц |
Здравствуйте, гость ( Вход | Регистрация )
QWizard, динамическое построение списка страниц |
Kagami |
14.5.2009, 11:57
Сообщение
#21
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Что-то все коллективно тупят
Цитата The QCheckBox widget provides a checkbox with a text label. More...
#include <QCheckBox> Inherits QAbstractButton. |
|
|
SABROG |
14.5.2009, 12:13
Сообщение
#22
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Подскажите что можно сделать с чекбоксами На первой странице несколько чекбоксов, каждый из которых соответсвует одной странице. При checked страница будет доступна в визарде, при !checked не будет. >_< Я тебя правильно понимаю, проблема в том, что в "нелинейном" визарде переход на страницу либо осуществляется либо нет, но она доступна. Ты хочешь динамически генерить и удалять страницы в зависимости от выбора в чекбоксе? |
|
|
FladeX |
14.5.2009, 13:27
Сообщение
#23
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Kagami, и тем не менее, через registerFields у меня не получилось.
SABROG, генерировать и удалять не нужно. Есть конечный список предопределенных страниц, каждой из которых сопоставлен чекбокс. Если чекбокс отмечен, то эта страница будет отображаться в визарде по кнопке Next. Если чекбокс не отмечен, то страница эта не будет отображаться. Для такой реализации нужно просто перезадать nextId для каждой из страниц. Однако при этом я столкнулся с трудностью - область видимости переменных - чекбоксы-то только на первой странице, а nextId по одному на каждой (каждая страница - отдельный класс, унаследованный от QWizardPage). Сообщение отредактировал FladeX - 14.5.2009, 13:29 |
|
|
Kagami |
14.5.2009, 14:06
Сообщение
#24
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
В конструкторе страницы делаем:
В nextID():
P.S. Если читать документацию внимательней, то необходимость в 80% темах отпадает Сообщение отредактировал Kagami - 14.5.2009, 14:06 |
|
|
FladeX |
18.5.2009, 14:30
Сообщение
#25
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да, теперь все работает. Благодарю!
Еще хочу выводить в QLineEdit (на каждой странице свой) какой-нибудь текст, причем текст зависит от значений QComboBox и QCheckBox, расположенных на странице. Я все написал, но у меня теперь показывает лишь первое значение, которое характерно для дефолтного состояния QComboBox и QCheckBox, а при их изменении значение QLineEdit не изменяется, хотя должно. Подскажите, почему так? |
|
|
Kagami |
18.5.2009, 20:05
Сообщение
#26
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Немного подробностей реализации бы не помешало
|
|
|
FladeX |
19.5.2009, 11:03
Сообщение
#27
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
cpp
h
А использовать пытаюсь здесь: cpp
|
|
|
Kagami |
19.5.2009, 11:37
Сообщение
#28
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Ну.. все очень просто. В данном случае надо подключать сигналы изменения чекбоксов и комбобоксов к своему слоту, который уже будет в зависимости от их состояния заполнять поле ввода. В твоей программе такой расчет происходит только один раз - при конструировании страницы.
В свой слот надо выносить вот этот кусок: Раскрывающийся текст
|
|
|
Гость_Гость_* |
24.11.2012, 17:12
Сообщение
#29
|
Гости |
посмотрите пожалуйста мою тему, аналогичная ситуация, не получается выцепить значение с предыдущей страницы, хотя все как в примере делаю
http://www.forum.crossplatform.ru/index.php?showtopic=8974 |
|
|
Текстовая версия | Сейчас: 9.1.2025, 19:07 |