欢迎来到天天文库
浏览记录
ID:38641388
大小:225.50 KB
页数:8页
时间:2019-06-16
《C++简易画板的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、说实话,本来我是没有打算放一个很大的例子的,一则比较复杂,二来或许需要很多次才能说得完。不过,现在已经说完了绘图部分,所以计划还是上一个这样的例子。这里我会只做出一个简单的画板程序,大体上就是能够画直线和矩形吧。这样,我计划分成两种实现,一是使用普通的QWidget作为画板,第二则是使用GraphcisViewFramework来实现。因为前面有朋友说不大明白GraphicsView的相关内容,所以计划如此。 好了,现在先来看看我们的主体框架。我们的框架还是使用QtCreator创建一个GuiApplication工程。 简单的main()函数就不再赘述了,这里首
2、先来看MainWindow。顺便说一下,我一般不会使用ui文件,所以这些内容都是手写的。首先先来看看最终的运行结果: 或许很简单,但是至少我们能够把前面所说的各种知识串连起来,这也就达到目的了。 现在先来看看MainWindow的代码: mainwindow.h#ifndefMAINWINDOW_H #defineMAINWINDOW_H #include #include "shape.h" #include "paintwidget.h" class MainWindow: public QMainWindow { Q_O
3、BJECT public: MainWindow(QWidget*parent=0); signals: void changeCurrentShape(Shape::CodenewShape); private slots: void drawLineActionTriggered(); void drawRectActionTriggered(); }; #endif //MAINWINDOW_H mainwindow.cpp#include "mainwindow.h" MainWi
4、ndow::MainWindow(QWidget*parent) :QMainWindow(parent) { QToolBar*bar= this->addToolBar("Tools"); QActionGroup*group= new QActionGroup(bar); QAction*drawLineAction= new QAction("Line",bar); drawLineAction->setIcon(QIcon(":/line.png")); d
5、rawLineAction->setToolTip(tr("Drawaline.")); drawLineAction->setStatusTip(tr("Drawaline.")); drawLineAction->setCheckable(true); drawLineAction->setChecked(true); group->addAction(drawLineAction); bar->addAction(drawLineAction); QAction
6、*drawRectAction= new QAction("Rectangle",bar); drawRectAction->setIcon(QIcon(":/rect.png")); drawRectAction->setToolTip(tr("Drawarectangle.")); drawRectAction->setStatusTip(tr("Drawarectangle.")); drawRectAction->setCheckable(true); group->addAc
7、tion(drawRectAction); bar->addAction(drawRectAction); QLabel*statusMsg= new QLabel; statusBar()->addWidget(statusMsg); PaintWidget*paintWidget= new PaintWidget(this); setCentralWidget(paintWidget); connect(drawLineAction,SIGNAL(trigge
8、red()
此文档下载收益归作者所有