亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainwindow.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
字號:
/******************************************************************************** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.**** This file is part of the example classes of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include <QtGui>#include "mainwindow.h"#include "scribblearea.h"MainWindow::MainWindow(){    scribbleArea = new ScribbleArea;    setCentralWidget(scribbleArea);    createActions();    createMenus();    setWindowTitle(tr("Scribble"));    resize(500, 500);}void MainWindow::closeEvent(QCloseEvent *event){    if (maybeSave()) {        event->accept();    } else {        event->ignore();    }}void MainWindow::open(){    if (maybeSave()) {        QString fileName = QFileDialog::getOpenFileName(this,                                   tr("Open File"), QDir::currentPath());        if (!fileName.isEmpty())            scribbleArea->openImage(fileName);    }}void MainWindow::save(){    QAction *action = qobject_cast<QAction *>(sender());    QByteArray fileFormat = action->data().toByteArray();    saveFile(fileFormat);}void MainWindow::penColor(){    QColor newColor = QColorDialog::getColor(scribbleArea->penColor());    if (newColor.isValid())        scribbleArea->setPenColor(newColor);}void MainWindow::penWidth(){    bool ok;    int newWidth = QInputDialog::getInteger(this, tr("Scribble"),                                            tr("Select pen width:"),                                            scribbleArea->penWidth(),                                            1, 50, 1, &ok);    if (ok)        scribbleArea->setPenWidth(newWidth);}void MainWindow::about(){    QMessageBox::about(this, tr("About Scribble"),            tr("<p>The <b>Scribble</b> example shows how to use QMainWindow as the "               "base widget for an application, and how to reimplement some of "               "QWidget's event handlers to receive the events generated for "               "the application's widgets:</p><p> We reimplement the mouse event "               "handlers to facilitate drawing, the paint event handler to "               "update the application and the resize event handler to optimize "               "the application's appearance. In addition we reimplement the "               "close event handler to intercept the close events before "               "terminating the application.</p><p> The example also demonstrates "               "how to use QPainter to draw an image in real time, as well as "               "to repaint widgets.</p>"));}void MainWindow::createActions(){    openAct = new QAction(tr("&Open..."), this);    openAct->setShortcut(tr("Ctrl+O"));    connect(openAct, SIGNAL(triggered()), this, SLOT(open()));    foreach (QByteArray format, QImageReader::supportedImageFormats()) {        QString text = tr("%1...").arg(QString(format).toUpper());        QAction *action = new QAction(text, this);        action->setData(format);        connect(action, SIGNAL(triggered()), this, SLOT(save()));        saveAsActs.append(action);    }    printAct = new QAction(tr("&Print..."), this);    connect(printAct, SIGNAL(triggered()), scribbleArea, SLOT(print()));    exitAct = new QAction(tr("E&xit"), this);    exitAct->setShortcut(tr("Ctrl+Q"));    connect(exitAct, SIGNAL(triggered()), this, SLOT(close()));    penColorAct = new QAction(tr("&Pen Color..."), this);    connect(penColorAct, SIGNAL(triggered()), this, SLOT(penColor()));    penWidthAct = new QAction(tr("Pen &Width..."), this);    connect(penWidthAct, SIGNAL(triggered()), this, SLOT(penWidth()));    clearScreenAct = new QAction(tr("&Clear Screen"), this);    clearScreenAct->setShortcut(tr("Ctrl+L"));    connect(clearScreenAct, SIGNAL(triggered()),            scribbleArea, SLOT(clearImage()));    aboutAct = new QAction(tr("&About"), this);    connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));    aboutQtAct = new QAction(tr("About &Qt"), this);    connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));}void MainWindow::createMenus(){    saveAsMenu = new QMenu(tr("&Save As"), this);    foreach (QAction *action, saveAsActs)        saveAsMenu->addAction(action);    fileMenu = new QMenu(tr("&File"), this);    fileMenu->addAction(openAct);    fileMenu->addMenu(saveAsMenu);    fileMenu->addAction(printAct);    fileMenu->addSeparator();    fileMenu->addAction(exitAct);    optionMenu = new QMenu(tr("&Options"), this);    optionMenu->addAction(penColorAct);    optionMenu->addAction(penWidthAct);    optionMenu->addSeparator();    optionMenu->addAction(clearScreenAct);    helpMenu = new QMenu(tr("&Help"), this);    helpMenu->addAction(aboutAct);    helpMenu->addAction(aboutQtAct);    menuBar()->addMenu(fileMenu);    menuBar()->addMenu(optionMenu);    menuBar()->addMenu(helpMenu);}bool MainWindow::maybeSave(){    if (scribbleArea->isModified()) {       QMessageBox::StandardButton ret;       ret = QMessageBox::warning(this, tr("Scribble"),                          tr("The image has been modified.\n"                             "Do you want to save your changes?"),                          QMessageBox::Save | QMessageBox::Discard			  | QMessageBox::Cancel);        if (ret == QMessageBox::Save) {            return saveFile("png");        } else if (ret == QMessageBox::Cancel) {            return false;        }    }    return true;}bool MainWindow::saveFile(const QByteArray &fileFormat){    QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;    QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),                               initialPath,                               tr("%1 Files (*.%2);;All Files (*)")                               .arg(QString(fileFormat.toUpper()))                               .arg(QString(fileFormat)));    if (fileName.isEmpty()) {        return false;    } else {        return scribbleArea->saveImage(fileName, fileFormat);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人亚洲综合色影视| 日韩精品资源二区在线| 欧美另类一区二区三区| 久久久天堂av| 欧美aaaaa成人免费观看视频| 不卡av在线网| xfplay精品久久| 一区二区欧美视频| 成人动漫在线一区| 久久新电视剧免费观看| 喷水一区二区三区| 欧美精品一级二级| 亚洲欧美一区二区三区久本道91| 久久成人免费网| 欧美精品一级二级三级| 亚洲狼人国产精品| 不卡的av中国片| 久久精品一区二区三区四区| 狠狠色狠狠色综合系列| 欧美一级片在线| 婷婷久久综合九色国产成人| 欧美在线视频不卡| 亚洲一区在线视频| 欧洲精品中文字幕| 一区二区欧美在线观看| 91久久香蕉国产日韩欧美9色| 中文成人av在线| 成人天堂资源www在线| 国产视频一区二区在线观看| 国产成人在线网站| 国产清纯白嫩初高生在线观看91| 精品亚洲成av人在线观看| 日韩欧美一区二区在线视频| 日韩国产欧美一区二区三区| 6080国产精品一区二区| 日本美女一区二区三区| 日韩视频免费观看高清完整版在线观看| 亚洲影院免费观看| 91精品欧美一区二区三区综合在| 奇米精品一区二区三区在线观看一 | 亚洲大片一区二区三区| 欧美日韩国产影片| 丝袜a∨在线一区二区三区不卡| 欧美日韩一区国产| 青青草97国产精品免费观看无弹窗版| 日韩一区二区三区高清免费看看| 久久精品国产亚洲aⅴ | 国产一级精品在线| 欧美极品xxx| 91国偷自产一区二区开放时间| 亚洲18女电影在线观看| 欧美一级免费观看| 国产精品夜夜嗨| 亚洲免费观看高清完整版在线观看| 欧美亚洲图片小说| 麻豆国产精品视频| 国产精品成人午夜| 欧美日韩美女一区二区| 国内精品不卡在线| 成人欧美一区二区三区| 欧美日韩国产精选| 国产成人8x视频一区二区| 亚洲一区二区免费视频| 精品国产一区二区精华| 色欧美日韩亚洲| 久久精品国产精品亚洲红杏| 国产精品青草久久| 91精品国产色综合久久| 国产成a人亚洲精品| 五月天丁香久久| 国产日产欧美一区二区三区| 欧美日韩一卡二卡| 成人动漫一区二区三区| 日韩黄色免费电影| 国产精品久久久久一区| 欧美精品日韩精品| 色综合天天综合网天天狠天天 | 日本女优在线视频一区二区| 国产精品热久久久久夜色精品三区| 欧美日韩国产在线观看| av在线不卡电影| 另类小说欧美激情| 亚洲午夜精品在线| 国产精品久久久久婷婷| 欧美成人欧美edvon| 欧美午夜精品久久久久久超碰 | 另类小说图片综合网| 亚洲欧美日本在线| 国产调教视频一区| 欧美mv日韩mv国产网站| 欧美日韩亚洲综合一区二区三区| 成人91在线观看| 国产高清不卡一区二区| 久久99热狠狠色一区二区| 亚洲国产精品综合小说图片区| 国产精品电影一区二区| 国产亚洲视频系列| 精品久久久久久久久久久院品网| 欧美色精品在线视频| 99久久精品久久久久久清纯| 粉嫩一区二区三区性色av| 久久精品国产成人一区二区三区| 亚洲综合色成人| 亚洲精品成人精品456| 亚洲欧美激情在线| 亚洲欧美在线视频观看| 国产精品久久久久久久浪潮网站| 久久亚洲免费视频| 国产午夜三级一区二区三| 久久久久久久综合狠狠综合| 欧美岛国在线观看| 精品国产精品网麻豆系列| 精品免费99久久| 久久综合色播五月| 国产亚洲精品福利| 国产精品久久网站| 国产精品成人一区二区艾草 | 欧美激情资源网| 中文字幕高清不卡| 国产精品久久久久精k8| 1024成人网| 亚洲制服丝袜在线| 日韩av不卡一区二区| 久久99国产精品免费网站| 精品一区二区三区欧美| 国产精品白丝av| 91在线视频免费91| 在线观看日韩精品| 日韩一区二区三区视频在线观看 | 欧美日韩免费一区二区三区| 欧美裸体bbwbbwbbw| 欧美va在线播放| 欧美激情一区二区三区四区| 亚洲色图视频网| 免费观看在线色综合| 国产剧情在线观看一区二区| 国产成人av福利| 在线观看视频欧美| 日韩精品自拍偷拍| 亚洲欧美偷拍三级| 老汉av免费一区二区三区| 成人午夜视频网站| 欧美色爱综合网| 久久久久久久久久久电影| 亚洲黄色片在线观看| 久久国产精品99久久久久久老狼| 高清beeg欧美| 欧美日韩国产欧美日美国产精品| 欧美精品一区二| 亚洲一二三四在线| 国产精品一区在线| 欧美日韩综合不卡| 国产欧美视频一区二区三区| 伊人开心综合网| 国产精品123区| 精品视频色一区| 久久久久99精品一区| 亚洲图片有声小说| 成人做爰69片免费看网站| 欧美日韩视频在线观看一区二区三区 | 欧美一卡二卡三卡| 亚洲欧美欧美一区二区三区| 蜜桃精品视频在线观看| 色婷婷激情久久| 国产欧美日本一区视频| 日本伊人色综合网| 色综合久久中文综合久久97| www国产亚洲精品久久麻豆| 亚洲一区在线视频观看| 99综合电影在线视频| 久久久亚洲精品一区二区三区| 午夜精品久久久| 99精品在线观看视频| 精品电影一区二区| 日韩影院在线观看| 在线观看视频一区二区欧美日韩 | 欧美成人三级在线| 日韩制服丝袜av| 日本韩国精品在线| 国产精品美日韩| 成人网男人的天堂| 国产精品―色哟哟| 国产一区二区调教| 精品少妇一区二区三区日产乱码| 首页国产欧美日韩丝袜| 欧美性大战久久| 一级日本不卡的影视| 色综合久久久久综合99| |精品福利一区二区三区| 国产一区二区美女诱惑| 日韩区在线观看| 麻豆精品一区二区三区| 日韩精品最新网址| 美女视频黄频大全不卡视频在线播放| 欧美色图在线观看| 婷婷中文字幕综合| 欧美一区二区视频免费观看| 日韩中文字幕av电影| 欧美一区二区三区免费大片| 捆绑紧缚一区二区三区视频|