Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions

window.cpp Example File
widgets/configwidget/window.cpp

    #include <QtGui>

    #include "optionbutton.h"
    #include "pages.h"
    #include "window.h"

    Window::Window()
    {
        contentsWidget = new QWidget;
        QWidgetView *view = new QWidgetView(this);
        view->setBackgroundRole(QPalette::Light);
        view->setWidget(contentsWidget);

        pagesWidget = new QStackedWidget(this);
        pagesWidget->addWidget(new ConfigurationPage);
        pagesWidget->addWidget(new UpdatePage);
        pagesWidget->addWidget(new QueryPage);

        QPushButton *closeButton = new QPushButton(tr("Close"), this);

        createIcons();

        connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));

        QHBoxLayout *horizontalLayout = new QHBoxLayout;
        horizontalLayout->addWidget(view);
        horizontalLayout->addWidget(pagesWidget, 1);

        QHBoxLayout *buttonsLayout = new QHBoxLayout;
        buttonsLayout->addStretch(1);
        buttonsLayout->addWidget(closeButton);

        QVBoxLayout *mainLayout = new QVBoxLayout(this);
        mainLayout->addLayout(horizontalLayout);
        mainLayout->addStretch(1);
        mainLayout->addSpacing(12);
        mainLayout->addLayout(buttonsLayout);

        setWindowTitle(tr("Configuration Widget"));
    }

    void Window::createIcons()
    {
        QPixmap pixmap;

        pixmap.load(":/images/config.png");
        OptionButton *configButton = new OptionButton(104, 104, 0, contentsWidget);
        configButton->setIcon(QIcon(pixmap));
        configButton->setText(tr("Configuration"));
        configButton->setCheckable(true);
        configButton->setAutoExclusive(true);
        configButton->setChecked(true);
        configButton->move(0, 0);

        pixmap.load(":/images/update.png");
        OptionButton *updateButton = new OptionButton(104, 104, 1, contentsWidget);
        updateButton->setIcon(QIcon(pixmap));
        updateButton->setText(tr("Update"));
        updateButton->setCheckable(true);
        updateButton->setAutoExclusive(true);
        updateButton->move(0, 104);

        pixmap.load(":/images/query.png");
        OptionButton *queryButton = new OptionButton(104, 104, 2, contentsWidget);
        queryButton->setIcon(QIcon(pixmap));
        queryButton->setText(tr("Query"));
        queryButton->setCheckable(true);
        queryButton->setAutoExclusive(true);
        queryButton->move(0, 208);

        connect(configButton, SIGNAL(clicked()), this, SLOT(changePage()));
        connect(updateButton, SIGNAL(clicked()), this, SLOT(changePage()));
        connect(queryButton, SIGNAL(clicked()), this, SLOT(changePage()));

        contentsWidget->resize(104, 312);
    }

    void Window::changePage()
    {
        pagesWidget->setCurrentIndex(static_cast<OptionButton *>(sender())->page());
    }


Copyright © 2004 Trolltech Trademarks
Qt 4.0.0-b1