crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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  


Цитата(ViGOur @ 2.2.2010, 16:44) *
Посмотри пример: Class Wizard Example думаю сразу станет понятно, в чем ошибся... :)


по этому примеру и делалось первоначально.... вот убейте, не понимаю :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(ViGOur @ 2.2.2010, 18:35) *
Дело в том, что виртуальной функция QWizardPage::validatePage вызывается каждый раз, когда пользователь нажимает кнопки Next или Finish, а слот QDialog::accept вызывается при нажатии кнопки Finish потому и нет того, эффекта что у тебя.


спасибо, но, честно говоря, не до конца понятно. В моем понимании было, что пока мы не нажмем next,то validatePage не вызывается. Т.е. ситуация такая: у страницы B next не нажали еще, а нажали back и вернулись на страницу А. Даже ничего не трогая на A, жмем next и сразу пишется QWizardPage::addField: Duplicate field 'xxx' (это поле как раз на страницу В)

просто проблема была в том,что не все можно запихнуть в этот registerfield, а надо данные, введенные пользователем, запихивать в txt. Ну огромную кучу глобальных переменных создавать не хотелось, чтобы потом их в этом accept иметь возможность вставить, вот во что и вылилось... теперь в полном недоумении как решить задачу =(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 9:38