Пример "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"); #ifdef Q_OS_SYMBIAN wizard.showMaximized(); #else wizard.show(); #endif return app.exec(); } Смотрите также QWizard, Пример "Class Wizard" и Пример "License Wizard". |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |