Доступ к QWizardPage, созданному Qt Designer - PullRequest
2 голосов
/ 20 июня 2011

Я использую Qt Designer для создания QWizardPage.

Я импортировал файл в Qt Creator, и он до сих пор работает нормально (я могу собрать проект и просто запустить мастер)

Теперь мне нужно переопределить функцию isComplete, но я не могу понять, как это сделать. Страницы названы wizardPage{,1,2_1,_2}. Я хотел бы знать, каков наилучший способ переопределить функцию isComplete() сейчас.

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

Чтобы перегрузить функцию isComplete() для QWizardPage, вам необходимо создать QWizardPage самостоятельно. По сути, макет формы - как вы бы диалог - только для нужной страницы. Создайте класс для этой страницы. Этот класс наследует от QWizardPage и переопределяет isComplete() для любых проверок, которые вы пожелаете. Теперь в вашем мастере найдите, где вы хотите, чтобы страница была. Удалите все виджеты на нем, затем щелкните правой кнопкой мыши и выберите Promote Widget.... Введите имя вашего класса и путь к файлу заголовка. Теперь, когда вы компилируете, он должен использовать экземпляр вашего класса для этой страницы, включая ваше переопределение для isComplete().

1 голос
/ 20 июня 2011

Я не уверен, что вы пытаетесь задать, но верните false из isComplete () , если вы хотите отключить кнопку «Далее» мастера.

Если вы хотите включить кнопку «Далее», испустите сигнал completeChanged () и верните true.

Реализация по умолчанию уже возвращает true. Так что вам может даже не понадобиться переопределять этот метод.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...