qwizardpage, registerfield |
Здравствуйте, гость ( Вход | Регистрация )
qwizardpage, registerfield |
Гость_Гость_klak_*_* |
2.2.2010, 13:02
Сообщение
#1
|
Гости |
доброго времени суток!
возник такой вопрос: можно ли как-нить очищать field в qwizardpage? просто когда перехожу back, а потом обратно next, то создаются дубликаты этих полей. Как этого избежать? спасибо! |
|
|
ViGOur |
2.2.2010, 13:44
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Посмотри пример: Class Wizard Example думаю сразу станет понятно, в чем ошибся...
Сообщение отредактировал ViGOur - 2.2.2010, 13:45 |
|
|
klak |
2.2.2010, 14:28
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 2.2.2010 Пользователь №: 1435 Спасибо сказали: 0 раз(а) Репутация: 0 |
Посмотри пример: Class Wizard Example думаю сразу станет понятно, в чем ошибся... по этому примеру и делалось первоначально.... вот убейте, не понимаю |
|
|
ViGOur |
2.2.2010, 14:41
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Тогда показывай код, оберни его только в теги [ expand = "Код.cpp" ] и [ code ], без пробелов только...
|
|
|
klak |
2.2.2010, 14:58
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 2.2.2010 Пользователь №: 1435 Спасибо сказали: 0 раз(а) Репутация: 0 |
можно лучше саму идею словами?
делаю так: на разных страницах исп-ю registerfiled ( "xxx*", xxx); страниц много, но вряд ли это играет тут роль какую-то больше ничего такого нет отличие: вытаскиваю эти поля не в accept, как в примере, а на последней странице bool ConclusionPage::validatePage() { QString xxx= field("xxx").toString(); ну и тут уже юзаю это xxx } Все очень однотипно и за рамки этого не выходит |
|
|
ViGOur |
2.2.2010, 15:35
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Дело в том, что виртуальной функция QWizardPage::validatePage вызывается каждый раз, когда пользователь нажимает кнопки Next или Finish, а слот QDialog::accept вызывается при нажатии кнопки Finish потому и нет того, эффекта что у тебя.
|
|
|
klak |
3.2.2010, 13:26
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 2.2.2010 Пользователь №: 1435 Спасибо сказали: 0 раз(а) Репутация: 0 |
Дело в том, что виртуальной функция QWizardPage::validatePage вызывается каждый раз, когда пользователь нажимает кнопки Next или Finish, а слот QDialog::accept вызывается при нажатии кнопки Finish потому и нет того, эффекта что у тебя. спасибо, но, честно говоря, не до конца понятно. В моем понимании было, что пока мы не нажмем next,то validatePage не вызывается. Т.е. ситуация такая: у страницы B next не нажали еще, а нажали back и вернулись на страницу А. Даже ничего не трогая на A, жмем next и сразу пишется QWizardPage::addField: Duplicate field 'xxx' (это поле как раз на страницу В) просто проблема была в том,что не все можно запихнуть в этот registerfield, а надо данные, введенные пользователем, запихивать в txt. Ну огромную кучу глобальных переменных создавать не хотелось, чтобы потом их в этом accept иметь возможность вставить, вот во что и вылилось... теперь в полном недоумении как решить задачу =( |
|
|
Текстовая версия | Сейчас: 4.12.2024, 16:22 |