• <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 逛奔的蝸牛 閱讀(977) 評論(0)  編輯 收藏 引用 所屬分類: Qt
            成人国内精品久久久久影院| 久久精品无码一区二区app| 嫩草影院久久99| 久久棈精品久久久久久噜噜| 亚洲精品无码久久久| 久久久WWW成人| 久久中文字幕无码专区| 精品久久久久久国产免费了| 色综合合久久天天综合绕视看| 久久久久久国产精品免费无码| 囯产精品久久久久久久久蜜桃| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久精品国产91久久麻豆自制| 无码人妻少妇久久中文字幕蜜桃| 久久精品成人欧美大片| 性做久久久久久久| 久久久婷婷五月亚洲97号色 | 久久精品国产精品青草| 国产午夜福利精品久久2021| 丰满少妇高潮惨叫久久久| 久久不射电影网| 久久久久噜噜噜亚洲熟女综合 | 亚洲Av无码国产情品久久| 亚洲精品国产自在久久| 久久亚洲精品无码aⅴ大香 | 久久久久国产精品嫩草影院| 欧美性大战久久久久久| 伊人久久精品无码av一区| 久久se精品一区精品二区| 日日狠狠久久偷偷色综合96蜜桃| 一级女性全黄久久生活片免费| 中文字幕日本人妻久久久免费 | 久久国产精品99精品国产| 丁香五月综合久久激情| 亚洲国产精品一区二区三区久久 | 久久无码人妻精品一区二区三区| 久久久久久久91精品免费观看| 久久综合给久久狠狠97色| 久久亚洲中文字幕精品一区| 人妻精品久久久久中文字幕一冢本| 热99re久久国超精品首页|