• <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 逛奔的蝸牛 閱讀(978) 評論(0)  編輯 收藏 引用 所屬分類: Qt
            久久综合偷偷噜噜噜色| 人妻无码久久一区二区三区免费| 亚洲精品tv久久久久| 久久综合综合久久狠狠狠97色88| 亚洲精品国产美女久久久| 2021国内精品久久久久久影院| 久久99精品久久久久久齐齐| 国产精品久久久久久久| 久久国产精品-国产精品| 国产精品福利一区二区久久| 国产精品青草久久久久婷婷| 国产精品久久成人影院| 国产精品久久久久久福利漫画 | 天天综合久久一二三区| 久久性生大片免费观看性| 久久精品无码一区二区app| 久久久噜噜噜久久| 久久午夜免费视频| 国产精品免费看久久久| 热久久这里只有精品| 久久伊人影视| 色综合久久久久无码专区| 国产亚洲色婷婷久久99精品| 久久综合丁香激情久久| 亚洲精品无码久久不卡| 嫩草伊人久久精品少妇AV| 精品久久久久久国产| 久久国产成人午夜aⅴ影院| 国内精品久久国产| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品国产亚洲αv忘忧草 | 久久久久无码中| 18岁日韩内射颜射午夜久久成人| 久久精品中文无码资源站| 国产日韩欧美久久| 久久精品99久久香蕉国产色戒 | 久久久精品免费国产四虎| 日韩影院久久| 久久精品国产一区| 亚洲AV日韩精品久久久久久 | 精品熟女少妇av免费久久|