- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CQt4可视化程序设计作业
《C++ Qt4可视化程序设计》期末结课作业设计项目:简易画图板 学号: 学院: 姓名: 【软件需求说明】与一般画图软件功能大体相似,如具有绘画涂鸦,添加直线或矩形等常用图形,可以插入图片,在图片上绘画,可以让其实现缩放,旋转,拉伸、删除、保存、撤销等功能。【软件功能设计与实现】一、设计界面1、设计菜单 A、所需创建菜单如下图所示: B、在动作编辑器中对各个菜单的Action进行编辑其文本,对象名,工具提示,快捷键,图标等内容,编辑完成后的Action如下图所示:C、把Action拖动放到工具栏上,如下图所示:2、添加绘图工具栏 A、在左边的部件栏中找到Dock Widget,并将其拖入到设计区,如下图: B、向其中拖入相关部件,效果图如上右图所示:三、添加画板 A、主要程序代码:#ifndef PAINTAREA_H #define PAINTAREA_H #include QWidget #include QMouseEvent #include QPoint class PaintArea : public QWidget { public: PaintArea(); protected: //下面三个函数是对事件的相应,因为PaintArea继承自QWidget类, //所以有次三个函数,分别对不同事件的响应。 void paintEvent(QPaintEvent *); //重绘事件响应 void mousePressEvent(QMouseEvent *); //鼠标按下事件响应 void mouseMoveEvent(QMouseEvent *); //鼠标移动事件响应 void mouseReleaseEvent(QMouseEvent *); //鼠标释放事件响应 void paint(QImage theImage); //自定义函数,进行绘制,该函数只是为了模块化编程定义的 private: QImage image; //QImage类对象,用于在其上绘图,也就是画布 QRgb backColor; //QRgb颜色对象,存储image的背景色 QPoint lastPoint,endPoint; //定义两个坐标对象存放鼠标指针的前后两个坐标 }; #endif // PAINTAREA_H #ifndef MAINWINDOW_H #define MAINWINDOW_H #include QMainWindow #include paintarea.h #include QScrollArea namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); protected: void changeEvent(QEvent *e); private: Ui::MainWindow *ui; PaintArea *area; QScrollArea *scrollArea; }; #endif // MAINWINDOW_H #include mainwindow.h #include ui_mainwindow.h MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),ui(new Ui::MainWindow) { ui-setupUi(this); resize(700,500); //主窗口大小设为700*500 area = new PaintArea; scrollArea = new QScrollArea; scrollArea-setBackgroundRole(QPalette::Dark); //scrollArea对象的背景色设为Dark scrollArea-setWidget(area); //将画布添加到scrollArea中 scrollArea-widget()-setMinimumSize(800,600); //scrollArea初始化大小设为800*600 setCentralWidget(scrollArea); //将scrollArea加入到主窗口的中心区 } MainWindow::~MainWindow() { delete ui; } void MainWindow::changeEvent(QEvent *e) { QMainWindow::changeEvent(e); switch (e-type()) { case QEvent::
您可能关注的文档
最近下载
- 浙江省台州市台州六校2023-2024学年高一下学期4月期中英语试题含答案.docx VIP
- 医疗器械研发各阶段所需DMR及DHF文件.xlsx VIP
- 抖音海外版tiktok的全球化运营策略.pptx
- 在线网课《公司并购与重组》课后单元测试答案.docx
- 海外发展研究所-国家开发银行:为净零世界建立市场.docx
- 中班数学绘本游戏《首先有一个苹果》课件.ppt VIP
- 2024全国罕见病诊疗协作网成员医院名单 .pdf
- 浙江省台州市2023-2024学年高一下学期6月期末英语试题含答案.pdf VIP
- 《农业经理人》教学大纲.docx VIP
- 基桩声波透射法检测理论考试题库(含答案).docx
文档评论(0)