些細なウィザードの例
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も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。