• <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
            国产精品久久久久久久久| 久久91精品国产91| 国产精品美女久久久| 久久国产乱子精品免费女| 久久中文娱乐网| 香蕉久久影院| 人妻精品久久无码区| 国产精品伦理久久久久久| 香蕉久久夜色精品国产尤物| 日韩精品久久久久久久电影蜜臀| 久久精品www| 亚洲色欲久久久久综合网| 久久天天躁狠狠躁夜夜96流白浆| 一级做a爰片久久毛片人呢| 亚洲精品无码久久久| 99久久中文字幕| 欧美与黑人午夜性猛交久久久| 亚洲AV无码一区东京热久久| 精品国产综合区久久久久久| 香蕉久久av一区二区三区| 久久综合中文字幕| 熟妇人妻久久中文字幕| 久久久久这里只有精品| 久久精品无码一区二区三区| 99蜜桃臀久久久欧美精品网站| 伊人色综合久久天天| 久久水蜜桃亚洲av无码精品麻豆| 日本亚洲色大成网站WWW久久| 久久午夜电影网| 国产亚洲精品自在久久| 久久久SS麻豆欧美国产日韩| 久久人人爽人人澡人人高潮AV| 99久久精品国内| 亚洲精品无码久久久久sm| 亚州日韩精品专区久久久| 狠狠精品久久久无码中文字幕| 精品久久一区二区三区| 香蕉久久av一区二区三区| 亚洲精品蜜桃久久久久久| 国产精品亚洲综合久久| 亚洲精品国精品久久99热|