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 of QWizard
.
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.
createIntroPage = QWizardPage() page = QWizardPage() page.setTitle("Introduction") label = QLabel("This wizard will help you register your copy "() "of Super Product Two.") label.setWordWrap(True) layout = 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. A QGridLayout
is used to hold the QLabel
and QLineEdit
objects.
createRegistrationPage = QWizardPage() page = QWizardPage() page.setTitle("Registration") page.setSubTitle("Please fill both fields.") nameLabel = QLabel("Name:") nameLineEdit = QLineEdit() emailLabel = QLabel("Email address:") emailLineEdit = QLineEdit() layout = 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 to createIntroPage()
. A QLabel
is used to inform the user that the registration process has completed successfully.
createConclusionPage = QWizardPage() page = QWizardPage() page.setTitle("Conclusion") label = QLabel("You are now successfully registered. Have a "() "nice day!") label.setWordWrap(True) layout = QVBoxLayout() layout.addWidget(label) page.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.
if __name__ == "__main__": app = QApplication([]) #ifndef QT_NO_TRANSLATION translatorFileName = "qtbase_" translatorFileName += QLocale.system().name() translator = QTranslator(app) if (translator.load(translatorFileName, QLibraryInfo.path(QLibraryInfo.TranslationsPath))) app.installTranslator(translator) #endif wizard = QWizard() wizard.addPage(createIntroPage()) wizard.addPage(createRegistrationPage()) wizard.addPage(createConclusionPage()) wizard.setWindowTitle("Trivial Wizard") wizard.show() sys.exit(app.exec())See also