![]() |
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции | ![]() |
Файлы:
Пример "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() создает экземпляр объекта 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 © 2008 Trolltech | Торговые марки | Qt 4.3.5 |