Beispiel „Trivial Wizard“
Das Beispiel „Trivial Wizard“ veranschaulicht, wie man einen linearen, dreiseitigen Registrierungsassistenten mithilfe von drei Instanzen von QWizardPage und einer Instanz von QWizard erstellt.

Einführungsseite

Die Einführungsseite wird mit der Funktion „ createIntroPage() “ erstellt, wobei ein „ QWizardPage “ angelegt und dessen Titel auf „Einführung“ gesetzt wird. Ein „ QLabel “ dient zur Speicherung der Beschreibung von „ page “. Ein „ QVBoxLayout “ dient zur Speicherung der „ label “. Dieser „ page “ wird zurückgegeben, wenn die Funktion „ createIntroPage() “ aufgerufen wird.
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;
}Registrierungsseite

Die Registrierungsseite wird mit der Funktion „ createRegistrationPage() “ erstellt. „ QLineEdit “-Objekte werden verwendet, damit der Benutzer einen Namen und eine E-Mail-Adresse eingeben kann. Ein „ QGridLayout “ dient zur Speicherung der Objekte „ QLabel “ und „ QLineEdit “.
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;
}Abschlussseite

Die Abschlussseite wird in der Funktion „ createConclusionPage() “ erstellt. Der Inhalt dieser Funktion ähnelt dem von „ createIntroPage() “. Ein „ QLabel “ wird verwendet, um den Benutzer darüber zu informieren, dass der Registrierungsvorgang erfolgreich abgeschlossen wurde.
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() Funktion
Die Funktion „ main() “ instanziiert ein „ QWizard “-Objekt („ wizard “) und fügt diesem alle drei „ QWizardPage “-Objekte hinzu. Der Fenstertitel von „ wizard “ wird auf „Trivial Wizard“ gesetzt, und die Funktion „ show() “ wird aufgerufen, um das Fenster anzuzeigen.
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
#if QT_CONFIG(translation)
QTranslator translator;
for (const QString &trPath : QLibraryInfo::paths(QLibraryInfo::TranslationsPath)) {
if (translator.load(QLocale(), u"qtbase"_s, u"_"_s, trPath)) {
app.installTranslator(&translator);
break;
}
}
#endif
QWizard wizard;
wizard.addPage(createIntroPage());
wizard.addPage(createRegistrationPage());
wizard.addPage(createConclusionPage());
wizard.setWindowTitle("Trivial Wizard");
wizard.show();
return app.exec();
}Siehe auch „ QWizard “ und „License Wizard Example“.
© 2026 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.