些細なウィザードの例
Trivial Wizard の例では、QWizardPage のインスタンス 3 つと、QWizard のインスタンス 1 つを使用して、直線的な 3 ページの登録ウィザードを作成する方法を説明します。
導入ページ
createIntroPage()
QWizardPage が作成され、そのタイトルが "Introduction "に設定される。 は の説明を保持するために使用されます。 は を保持するために使用されます。この は 関数が呼び出されたときに返されます。QLabel page
QVBoxLayout label
page
createIntroPage()
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; }
登録ページ
登録ページはcreateRegistrationPage()
関数で作成されます。QLineEdit オブジェクトは、ユーザーが名前と電子メールアドレスを入力するために使用されます。QLabel とQLineEdit オブジェクトを保持するためにQGridLayout が使われます。
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; }
結論ページ
結論ページはcreateConclusionPage()
関数で作成されます。この関数の内容はcreateIntroPage()
と同様です。QLabel は、登録プロセスが正常に完了したことをユーザーに通知するために使用されます。
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()
関数
main()
関数は、QWizard オブジェクト、wizard
をインスタンス化し、3 つのQWizardPage オブジェクトをすべて追加します。wizard
ウィンドウ・タイトルは "Trivial Wizard "に設定され、show()
関数が呼び出されて表示される。
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(&app); if (translator->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(); }
QWizard とLicense Wizard Exampleも参照してください 。
© 2025 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.