Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| Гость_Гость_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
|
Посмотри пример: Link думаю сразу станет понятно, в чем ошибся...
Сообщение отредактировал ViGOur - 2.2.2010, 13:45 |
|
|
|
|
klak |
2.2.2010, 14:28
Сообщение
#3
|
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 2.2.2010 Пользователь №: 1435 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(ViGOur @ 2.2.2010, 16:44) Link Посмотри пример: Link думаю сразу станет понятно, в чем ошибся... по этому примеру и делалось первоначально.... вот убейте, не понимаю |
|
|
|
|
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
|
Дело в том, что виртуальной функция Link вызывается каждый раз, когда пользователь нажимает кнопки Next или Finish, а слот QDialog::accept вызывается при нажатии кнопки Finish потому и нет того, эффекта что у тебя.
|
|
|
|
|
klak |
3.2.2010, 13:26
Сообщение
#7
|
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 2.2.2010 Пользователь №: 1435 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(ViGOur @ 2.2.2010, 18:35) Link Дело в том, что виртуальной функция Link вызывается каждый раз, когда пользователь нажимает кнопки Next или Finish, а слот QDialog::accept вызывается при нажатии кнопки Finish потому и нет того, эффекта что у тебя. спасибо, но, честно говоря, не до конца понятно. В моем понимании было, что пока мы не нажмем next,то validatePage не вызывается. Т.е. ситуация такая: у страницы B next не нажали еще, а нажали back и вернулись на страницу А. Даже ничего не трогая на A, жмем next и сразу пишется QWizardPage::addField: Duplicate field 'xxx' (это поле как раз на страницу В) просто проблема была в том,что не все можно запихнуть в этот registerfield, а надо данные, введенные пользователем, запихивать в txt. Ну огромную кучу глобальных переменных создавать не хотелось, чтобы потом их в этом accept иметь возможность вставить, вот во что и вылилось... теперь в полном недоумении как решить задачу =( |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 7.1.2026, 23:17 |