Russian Qt Forum
Июня 26, 2025, 20:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWizardPage забрать данные с соседней страницы  (Прочитано 2622 раз)
sobr_vamp
Гость
« : Июня 04, 2011, 22:25 »

Доброго времени суток.
Есть 6 своих классов, которые наследую от QWizardPage и потом пихаю в QWizard.
Нужно:
1. При переходе на следующую страницу (разобрался, что надо отлавливать validatePage() ) забирать данные, которые описаны в классе предыдущей страницы и помещать на следующую.
Вопрос конкретнее: как вызвать метод, который описан в классе предыдущей страницы?
2. Тоже забирать данные, только уже с виджетов формы. Опять же упирается в вызов функции

Я так понял ковырять надо QWizardPage * QWizard::page ( int id ) const. Только вот возвращает она совсем не то, что мне нужно. Не смог по этому указателю ничего вызвать(

Спасибо тем, кто сможет помочь =)
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Июня 04, 2011, 22:37 »

Код:
MyPage *myPage= qobject_cast<MyPage*>(wizard->page(id));
Q_ASSERT(myPage);
if (myPage) {
    //тут твой код
}
Записан
sobr_vamp
Гость
« Ответ #2 : Июня 04, 2011, 22:48 »

Ооо! Спасибо, добрый человек! Всё отлично работает))
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Июня 04, 2011, 23:10 »

Можно конечно использовать static_cast, но кьюобжект каст вкупе с ассертом (особенно Q_ASSERT_X, к-ый позволяет задать свое сообщение) ИЛИ if'ом позволяют быстро ловить ошибки в случае смены порядка/типа страниц.
В случае со статик кастом упадет либо при касте, либо при 1м вызове (что рандом и плохо), в случае с ассертом мы увидим сообщение, к-ое сразу говорит что где упало (то есть уже предсказуемое поведение), в случае с ифом вообще не упадет. В else кстати я бы писал сообщение что "бида бида"
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 2.245 секунд. Запросов: 23.