Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

Trivial Wizard Example

The Trivial Wizard example illustrates how to create a linear three-page registration wizard using three instances of QWizardPage and one instance of QWizard.

Introduction Page

The introduction page is created with the createIntroPage() function where a QWizardPage is created and its title is set to "Introduction". A QLabel is used to hold the description of page. A QVBoxLayout is used to hold the label. This page is returned when the createIntroPage() function is called.

 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;
 }

Registration Page

The registration page is created with the createRegistrationPage() function. QLineEdit objects are used to allow the user to input a name and an e-mail address. A QGridLayout is used to hold the QLabel and QLineEdit objects.

 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;
 }

Conclusion Page

The conclusion page is created in the createConclusionPage() function. This function's content is similar to createIntroPage(). A QLabel is used to inform the user that the registration process has completed successfully.

 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() Function

The main() function instantiates a QWizard object, wizard, and adds all three QWizardPage objects to it. The wizard window title is set to "Trivial Wizard" and its show() function is invoked to display it.

 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();
 }

Files:

See also QWizard, Class Wizard Example, and License Wizard Example.

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 5.0-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web