Trivial Wizard Example¶
The Trivial Wizard example illustrates how to create a linear three-page registration wizard using three instances of
QWizardPage
and one instance ofQWizard
.
Introduction Page¶
The introduction page is created with the
createIntroPage()
function where aQWizardPage
is created and its title is set to “Introduction”. AQLabel
is used to hold the description ofpage
. AQVBoxLayout
is used to hold thelabel
. Thispage
is returned when thecreateIntroPage()
function is called.QWizardPage *createIntroPage() { QWizardPage *page = new QWizardPage; page->setTitle("Introduction"); QLabel *label = new QLabel("This wizard will help you register your copy " "of Super Product Two."); label->setWordWrap(true); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(label); page->setLayout(layout); return page; }
Registration Page¶
The registration page is created with the
createRegistrationPage()
function.QLineEdit
objects are used to allow the user to input a name and an e-mail address. AQGridLayout
is used to hold theQLabel
andQLineEdit
objects.QWizardPage *createRegistrationPage() { QWizardPage *page = new QWizardPage; page->setTitle("Registration"); page->setSubTitle("Please fill both fields."); QLabel *nameLabel = new QLabel("Name:"); QLineEdit *nameLineEdit = new QLineEdit; QLabel *emailLabel = new QLabel("Email address:"); QLineEdit *emailLineEdit = new QLineEdit; QGridLayout *layout = new QGridLayout; layout->addWidget(nameLabel, 0, 0); layout->addWidget(nameLineEdit, 0, 1); layout->addWidget(emailLabel, 1, 0); layout->addWidget(emailLineEdit, 1, 1); page->setLayout(layout); return page; }
Conclusion Page¶
The conclusion page is created in the
createConclusionPage()
function. This function’s content is similar tocreateIntroPage()
. AQLabel
is used to inform the user that the registration process has completed successfully.QWizardPage *createConclusionPage() { QWizardPage *page = new QWizardPage; page->setTitle("Conclusion"); QLabel *label = new QLabel("You are now successfully registered. Have a " "nice day!"); label->setWordWrap(true); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(label); page->setLayout(layout); return page; }
main()
Function¶
The
main()
function instantiates aQWizard
object,wizard
, and adds all threeQWizardPage
objects to it. Thewizard
window title is set to “Trivial Wizard” and itsshow()
function is invoked to display it.int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication app(argc, argv); #ifndef QT_NO_TRANSLATION QString translatorFileName = QLatin1String("qtbase_"); translatorFileName += QLocale::system().name(); QTranslator *translator = new QTranslator(&app); if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) app.installTranslator(translator); #endif QWizard wizard; wizard.addPage(createIntroPage()); wizard.addPage(createRegistrationPage()); wizard.addPage(createConclusionPage()); wizard.setWindowTitle("Trivial Wizard"); wizard.show(); return app.exec(); }See also
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.