• <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 逛奔的蝸牛 閱讀(975) 評論(0)  編輯 收藏 引用 所屬分類: Qt
            精品久久久久久国产牛牛app| 伊人色综合久久天天人手人婷 | 国产精品无码久久久久| 久久精品国产亚洲77777| 91精品国产91久久久久久| 久久久久久免费视频| 久久96国产精品久久久| 亚洲精品99久久久久中文字幕| 久久精品国产亚洲AV大全| 午夜精品久久久久成人| 久久r热这里有精品视频| 午夜精品久久久久成人| 国产精品一久久香蕉产线看| 久久综合久久美利坚合众国| 国产精品成人99久久久久91gav| 久久天天躁夜夜躁狠狠躁2022 | 99久久精品国产麻豆| 99久久人人爽亚洲精品美女| 久久久亚洲精品蜜桃臀| 99麻豆久久久国产精品免费 | 国产成人久久激情91| 久久精品国产WWW456C0M| 久久精品国产精品亚洲毛片| 久久99精品国产麻豆不卡| 国产精品99久久久久久人| 亚洲午夜福利精品久久| 久久久久99精品成人片| 精品久久久久久久久久久久久久久| 亚洲中文字幕无码一久久区| 亚洲色欲久久久久综合网| 久久激情亚洲精品无码?V| segui久久国产精品| 国产精品99久久久久久人| 国产精品久久久久久| 亚洲中文字幕久久精品无码喷水| 久久久久久免费视频| 久久人人爽人人爽人人片AV麻烦| 亚洲国产精品成人久久蜜臀| 亚洲а∨天堂久久精品| 亚洲人AV永久一区二区三区久久| 久久天天躁狠狠躁夜夜不卡|