• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            逛奔的蝸牛

            我不聰明,但我會很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::

            #include "BuiltinDialog.h"


            #include <QtGui/QTextEdit>

            #include <QtGui/QPushButton>

            #include <QtGui/QFileDialog>

            #include <QtGui/QFontDialog>

            #include <QtGui/QColorDialog>

            #include <QtGui/QPrintDialog>

            #include <QtGui/QInputDialog>

            #include <QtGui/QErrorMessage>

            #include <QtGui/QProgressDialog>

            #include <QtGui/QPageSetupDialog>


            #include <QtGui/QGridLayout>

            #include <QtGui/QPalette>

            #include <QtGui/QColor>

            #include <QtGui/QPrinter>

            #include <QtGui/QApplication>

            #include <QtDebug>


            BuiltinDialog::BuiltinDialog(QWidget *parent) :

                QDialog(parent) {

                // Create widgets.

                displayTextEdit = new QTextEdit();

                showFileDialogButton = new QPushButton(QObject::tr("File Dialog"));

                showFontDialogButton = new QPushButton(QObject::tr("Font Dialog"));

                showColorDialogButton = new QPushButton(QObject::tr("Color Dialog"));

                showPrintDialogButton = new QPushButton(QObject::tr("Print Dialog"));

                showInputDialogButton = new QPushButton(QObject::tr("Input Dialog"));

                showErrorDialogButton = new QPushButton(QObject::tr("Error Dialog"));

                showProgressDialogButton = new QPushButton(QObject::tr("Progress Dialog"));

                showPageSetupDialogButton = new QPushButton(

                        QObject::tr("Page Setup Dialog"));


                // Lay out widgets.

                QGridLayout *gridLayout = new QGridLayout();

                gridLayout->addWidget(showFileDialogButton, 0, 0, 1, 1);

                gridLayout->addWidget(showFontDialogButton, 0, 1, 1, 1);

                gridLayout->addWidget(showColorDialogButton, 0, 2, 1, 1);

                gridLayout->addWidget(showPrintDialogButton, 1, 0, 1, 1);

                gridLayout->addWidget(showInputDialogButton, 1, 1, 1, 1);

                gridLayout->addWidget(showErrorDialogButton, 1, 2, 1, 1);

                gridLayout->addWidget(showProgressDialogButton, 2, 0, 1, 1);

                gridLayout->addWidget(showPageSetupDialogButton, 2, 1, 1, 1);

                gridLayout->addWidget(displayTextEdit, 3, 0, 3, 3);

                setLayout(gridLayout);


                // Connect signals and slots.

                QObject::connect(showFileDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showFontDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showColorDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showPrintDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showInputDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showErrorDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showProgressDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));

                QObject::connect(showPageSetupDialogButton, SIGNAL(clicked()), this, SLOT(

                        buttonsClicked()));


                // Initialize.

                setWindowTitle(QObject::tr("Builtin Dialogs"));

            }


            void BuiltinDialog::buttonsClicked() {

                QPushButton *button = qobject_cast<QPushButton *> (sender());


                if (button == showFileDialogButton) {

                    QString fileName = QFileDialog::getOpenFileName(this, QObject::tr(

                            "Open File"), QDir::home().path(), QObject::tr(

                            "Images(*.png *.jpg *.gif)"));

                    displayTextEdit->setText(fileName);

                } else if (button == showFontDialogButton) {

                    bool ok;

                    const QFont &font = QFontDialog::getFont(&ok, displayTextEdit->font(),

                            this);


                    if (ok) {

                        displayTextEdit->setFont(font);

                    }

                } else if (button == showColorDialogButton) {

                    QPalette palette = displayTextEdit->palette();

                    const QColor &color = QColorDialog::getColor(palette.color(

                            QPalette::Base), this);


                    if (color.isValid()) {

                        palette.setColor(QPalette::Base, color);

                        displayTextEdit->setPalette(palette);

                    }

                } else if (button == showPrintDialogButton) {

                    QPrinter printer;

                    QPrintDialog dialog(&printer, this);

                    dialog.setWindowTitle(QObject::tr("Print Dialog"));

                    if (QDialog::Accepted == dialog.exec()) {

                        displayTextEdit->setText("Printing file.....");

                    }

                } else if (button == showInputDialogButton) {

                    bool ok;


                    QString text = QInputDialog::getText(this, QObject::tr(

                            "Input User Name"), QObject::tr("User Name: "),

                            QLineEdit::Normal, QDir::home().dirName(), &ok);


                    if (ok && !text.isEmpty()) {

                        displayTextEdit->setText(text);

                    }

                } else if (button == showErrorDialogButton) {

                    QErrorMessage box(this);

                    box.setWindowTitle(QObject::tr("Error Message"));

                    box.showMessage(QObject::tr("There are errors XX."));

                    box.showMessage(QObject::tr("There are errors XX."));

                    box.showMessage(QObject::tr("There are errors XX."));

                    box.showMessage(QObject::tr("There are errors YY."));


                    box.exec();

                } else if (button == showProgressDialogButton) {

                    int maxValue = 10000;

                    QProgressDialog dialog(QObject::tr("Copying files..."), QObject::tr(

                            "Cancel"), 0, maxValue, this);

                    dialog.setWindowModality(Qt::WindowModal);

                    dialog.setWindowTitle(QObject::tr("Progress Dialog"));

                    dialog.show();


                    for (int i = 0; i < maxValue; ++i) {

                        dialog.setValue(i);

                        qApp->processEvents();


                        if (dialog.wasCanceled()) {

                            break;

                        }


                        qDebug() << i; // #include <QtDebug>

                    }


                    dialog.setValue(maxValue);

                } else if (button == showPageSetupDialogButton) {

                    QPrinter printer;

                    QPageSetupDialog dlg(&printer, this);

                    dlg.setWindowTitle(QObject::tr("Page Setup"));

                    if (QDialog::Accepted == dlg.exec()) {

                        displayTextEdit->setText("Page's properties are setupped.");

                    }

                }

            }

            posted on 2009-03-28 02:47 逛奔的蝸牛 閱讀(981) 評論(0)  編輯 收藏 引用 所屬分類: Qt
            人妻少妇久久中文字幕| 一个色综合久久| 99久久精品国产一区二区三区| 2021久久国自产拍精品| 伊人色综合久久| 久久久亚洲欧洲日产国码是AV| AAA级久久久精品无码片| 国产69精品久久久久99尤物| 久久久久亚洲AV成人网人人网站| 久久精品国产2020| 国产成人精品久久亚洲高清不卡 | 久久婷婷午色综合夜啪| 狠狠狠色丁香婷婷综合久久五月| 免费一级欧美大片久久网| 久久精品这里热有精品| 一本色道久久HEZYO无码| 久久亚洲国产精品123区| 国产高潮国产高潮久久久| 中文成人无码精品久久久不卡 | 久久久精品2019免费观看| 久久精品www| 99久久99久久精品免费看蜜桃| 国产精品美女久久福利网站| 国产精品日韩深夜福利久久| 国产∨亚洲V天堂无码久久久| 久久久久久久精品妇女99| 久久久午夜精品| 欧美一区二区久久精品| 香蕉99久久国产综合精品宅男自| 国产精品欧美久久久久天天影视| 狠狠色丁香久久婷婷综| 丁香狠狠色婷婷久久综合| 精品国产福利久久久| 九九久久99综合一区二区| 久久精品一区二区三区不卡| 99久久精品免费看国产免费| 亚洲一区二区三区日本久久九| 热久久国产精品| 热RE99久久精品国产66热| 亚洲精品WWW久久久久久| 亚洲精品高清一二区久久|