Trivial Wizard Example▲
Introduction Page▲
The introduction page is created with the createIntroPage() function where a QWizardPage is created and its title is set to "Introduction". A QLabel is used to hold the description of page. A QVBoxLayout is used to hold the label. This page is returned when the createIntroPage() function is called.
QWizardPage *
createIntroPage()
{
QWizardPage *
page =
new
QWizardPage;
page-&
gt;setTitle("Introduction"
);
QLabel *
label =
new
QLabel("This wizard will help you register your copy "
"of Super Product Two."
);
label-&
gt;setWordWrap(true
);
QVBoxLayout *
layout =
new
QVBoxLayout;
layout-&
gt;addWidget(label);
page-&
gt;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. A QGridLayout is used to hold the QLabel and QLineEdit objects.
QWizardPage *
createRegistrationPage()
{
QWizardPage *
page =
new
QWizardPage;
page-&
gt;setTitle("Registration"
);
page-&
gt;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-&
gt;addWidget(nameLabel, 0
, 0
);
layout-&
gt;addWidget(nameLineEdit, 0
, 1
);
layout-&
gt;addWidget(emailLabel, 1
, 0
);
layout-&
gt;addWidget(emailLineEdit, 1
, 1
);
page-&
gt;setLayout(layout);
return
page;
}
Conclusion Page▲
The conclusion page is created in the createConclusionPage() function. This function's content is similar to createIntroPage(). A QLabel is used to inform the user that the registration process has completed successfully.
QWizardPage *
createConclusionPage()
{
QWizardPage *
page =
new
QWizardPage;
page-&
gt;setTitle("Conclusion"
);
QLabel *
label =
new
QLabel("You are now successfully registered. Have a "
"nice day!"
);
label-&
gt;setWordWrap(true
);
QVBoxLayout *
layout =
new
QVBoxLayout;
layout-&
gt;addWidget(label);
page-&
gt;setLayout(layout);
return
page;
}
main() Function▲
The main() function instantiates a QWizard object, wizard, and adds all three QWizardPage objects to it. The wizard window title is set to "Trivial Wizard" and its show() function is invoked to display it.
int
main(int
argc, char
*
argv[])
{
QApplication app(argc, argv);
#ifndef QT_NO_TRANSLATION
QString translatorFileName =
QLatin1String("qtbase_"
);
translatorFileName +=
QLocale::
system().name();
QTranslator *
translator =
new
QTranslator(&
amp;app);
if
(translator-&
gt;load(translatorFileName, QLibraryInfo::
path(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();
}
Example project▲
See Also▲
See also QWizard, Class Wizard Example, License Wizard Example