Пример "Trivial Wizard"
Файлы:
Пример "Trivial Wizard" иллюстрирует как создать линейный трехстраничный мастер регистрации используя три экземпляра класса QWizardPage и один экземпляр класса QWizard.
Вводная страница
Вводная страница создается с помощью функции 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 используются чтобы позволить пользователю ввести имя и электронный адрес. QGridLayout используется для хранения объектов QLabel и 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;
}
Итоговая страница
Итоговая страница создается в функции 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, и добавляет в него все три объекта QWizardPage. Заголовок окна wizard устанавливается равным "Trivial Wizard", а его функция show() вызывается чтобы отобразить его.
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QString translatorFileName = QLatin1String("qt_");
translatorFileName += QLocale::system().name();
QTranslator *translator = new QTranslator(&app);
if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(translator);
QWizard wizard;
wizard.addPage(createIntroPage());
wizard.addPage(createRegistrationPage());
wizard.addPage(createConclusionPage());
wizard.setWindowTitle("Trivial Wizard");
wizard.show();
return app.exec();
}
Смотрите также QWizard, Пример "Class Wizard" и Пример "License Wizard".
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|