Я использую QT, и я использую объект QWizard, который содержит несколько страниц. когда дело доходит до определенной страницы я хочу скрыть кнопку "Next" сначала, и показывает его после того, как пользователь делает что-то (такие как нажатие на переключатель...)
Я хочу сделать, некоторые настраивают управление мастера, когда эта определенная страница обнаруживается. вопрос, я знаю, как скрыть кнопку, но я не знаю, какую функцию я должен использовать. Я судил конструктора QWizardPage, функцию initializePage, "выставочная" функция, но все они функционируют, не работала.
Если я поместил кнопочное управление в конструктора страницы мастера, программа откажет, так как объект мастера еще не там.
Если я поместил его в функцию initializePage, некоторая функция QWizard сбросит кнопки после функции initializePage, и вся специализированная установка будет уведенный.
И выставочная функция кажется, не может быть перезаписан.
Я действительно не могу выяснить, какая функция применима. Есть ли какая-либо функция как OnSetActive в MFC или Загрузка в JAVA?? Который назовут, когда страница будет идти в шоу?
Лучшее решение, вероятно, обеспечивается использованием QWizardPage :: registerField
. Это позволяет вам определять обязательные поля / переключатели / и т. Д. и кнопки «Далее» и / или «Готово» в вашем мастере доступны только тогда, когда все обязательные поля заполнены / отмечены.
См. http://doc.trolltech.com/4.6/dialogs-licensewizard.html для примера, в котором используется эта функция.
РЕДАКТИРОВАТЬ: QWizard :: button
обеспечивает доступ к кнопкам в мастере. Вы пробовали что-то вроде myWizard-> button (QWizard :: NextButton) -> setEnabled (false)
?