- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt绘图软件设计教程的
yafeilinux 作品 /yafeilinux /yafeilinux 开源,共享,自由
Qt 画图软件设计教程
前面学习了Qt 2D 绘图的基本知识,现在我们将所学习的知识进行一下综合,设计一个简
单的画图软件。因为前面已经有了记事本的例子,所以这里对一些细节知识将不会多讲。
而且,这只是个例子,说是软件,其实只是个较大点的程序而已,并不是实际的项目,所
以通过这个例子,我们主要为了掌握一个方法和两个知识点。
一个方法:写较复杂程序的方法。
两个知识点:文件菜单的功能实现和利用双缓冲进行绘图。
这个例子共分为三部分进行介绍:
第一部分:进行软件界面的设计。其中一些知识可以参考我博客中的Qt 教程四。
第二部分:实现基本的功能,这里会再次详细介绍文件菜单中新建,打开,保存,另存为,
关闭等菜单的功能实现。这里你可以参考我博客中的Qt 教程六。
第三部分:我们在这里会详细讲解所谓的双缓冲绘图,利用它实现图形(例如矩形,椭圆)
的交互式绘制。
第一部分:设计界面
在windows 上自带了画图软件,在Qt Creator 中也有个绘图软件的例子scribble example,你
可以在帮助中进行查看。而现在我们要写的绘图程序的例子,也应该包含这些功能,如绘画
涂鸦,添加直线或矩形等常用图形,可以插入图片,在图片上进行绘画,可以让它缩放,旋
转,拉伸等。想到了这些功能,我们就可以设计软件的界面了。
一.设计菜单
1.在QtCreator 中新建Qt4 Gui Application 工程,我这里使用的工程名为paint ,使用默认
的QMainWindow 作为主窗口。
2.为了让程序中可以使用中文,我们先在main.cpp 中加入头文件#include QTextCodec,
并加入下面一行代码:QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
3.打开mainwindow.ui,先设计菜单。依次是文件菜单,编辑菜单,工具菜单和帮助菜单。
其内容分别如下:
文件菜单 编辑菜单 工具菜单 帮助菜单
第1 页,共47 页
yafeilinux 作品 /yafeilinux /yafeilinux 开源,共享,自由
4. 向工程中添加资源文件,向其中添加要使用的菜单图标。
添加完后记着保存一下资源文件,不然的话,在资源管理器中可能看不到添加的图标。
5.打开动作编辑器Action Editor ,编辑已添加的菜单动作。
我们下面只介绍其中“新建”菜单的编辑,其余菜单照做就行了。
双击action_N ,弹出如下对话框:
单击Icon 后面的按钮,弹出资源管理器:
第2 页,共47 页
yafeilinux 作品 /yafeilinux /yafeilinux 开源,共享,自由
我们点击上面的 Reload ,便能显示出我们已经添加的图标,我们选中其中的新建菜单的
图标,点击Ok 确认,如下图所示:
添加完图标后,我们单击一下快捷键 Shortcut 后面的输入框,然后同时按下 Ctrl 键和N
键,这样就将新建菜单的快捷键设为了Ctrl+N ,如下图所示:
然后我们再在右面的属性窗口中更改statusTip 的内容为“新建文件”,这样在鼠标放在新
建菜单上是,状态栏就会显示“新建文件”。如下图:
我们按照同样的方法设置其它菜单,设置完成后如下图所示:
第3 页,共47 页
yafeilinux 作品 /yafeilinux /yafeilinux 开源,共享,自由
6.我们把其中的一些图标放到工具栏上,如下图所示:
这样就完成了菜单的设计。
二.添加绘图工具栏
我们这里的绘图工具栏使用的是一种叫做Dock 的窗口,它与其它窗口的不同就是它可以
在其父窗口中浮动,也可以停靠在父窗口的边界,就像一个工具栏一样。
1.我们在左边的部件栏中找到Dock Widget ,将其拖入到设计区。
添加后它默认在左边框上停靠着。如下图:
第4 页,共4
文档评论(0)