- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Qt ⼀个简易画板的实现(QWidget)
⼀个简易画板的实现(QWidget)
说实话,本来我是没有打算放⼀个很⼤的例⼦的,⼀则⽐较复杂,⼆来或许需要很多
才能说得完。不过,现在已经说完了绘图部分,所以计划还是上⼀个这样的例⼦。
这⾥我会只做出⼀个简单的画板程序,⼤体上就是能够画直线和矩形吧。这样,我计
划分成两种实现,⼀是使⽤普通的 QWidget 作为画板,第⼆则是使⽤ Graphcis View
Framework 来实现。因为前⾯有朋友说不⼤明⽩ Graphics View 的相关内容,所以计
划如此。
好了,现在先来看看我们的主体框架。我们的框架还是使⽤ Qt Creator 创建⼀个 Gui
Application⼯程。
简单的 main()函数就不再赘述了,这⾥⾸先来看 MainWindow 。顺便说⼀下,我⼀般
不会使⽤ ui ⽂件,所以这些内容都是⼿写的。⾸先先来看看最终的运⾏结果:
或许很简单,但是⾄少我们能够把前⾯所说的各种知识串连起来,这也就达到⽬的
了。
现在先来看看 MainWindow 的代码:
mainwindow .h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include QtGui
#include shape.h
#include paintwid et.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWid et *parent = 0);
si nals:
void chan eCurrentShape(Shape::Code newShape);
private slots:
void drawLineActionTri ered();
void drawRectActionTri ered();
};
#endif // MAINWINDOW_H
mainwindow .cpp
#include mainwindow .h
MainWindow ::MainWindow(QWid et *parent)
: QMainWindow(parent)
{
QToolBar *bar = this-addToolBar(Tools);
QActionGroup * roup = new QActionGroup(bar);
QAction *drawLineAction = new QAction(Line, bar);
drawLineAction-setIcon(QIcon(:/line.pn ));
drawLineAction-setToolTip(tr(Draw a line.));
drawLineAction-setStatusTip(tr(Draw a line.));
drawLineAction-setCheckable(true);
drawLineAction-setChecked(true);
roup-addAction(drawLineAction);
bar-addAction(drawLineAction);
QAction *drawRectAction = new QAction(Rectan le, bar);
drawRectAction-setIcon(QIcon(:/rect.pn ));
drawRectAction-setToolTip(tr(Draw a rectan le.));
drawRectAction-setStatusTip(tr(Draw a rectan le.));
drawRectAction-setCheckable(true);
roup-addAction(drawRectAction);
bar-addAction(drawRectAction);
您可能关注的文档
- pascal-字符及字符串处理.doc
- PATRAN-NASTRAN使用指南.pdf
- PB8与VB6竞争分析.doc
- PCC中数组边界检查的优化与生成.pdf
- PCF8583中文资料_带有 256×8bit RAM 8 引脚日历时钟芯片.pdf
- PCF8591芯片使用.doc
- PCIE 3.0简介及信号与协议测试方法.pdf
- PDF转CAD 转换详细步骤.doc
- Perl 及 Python 之间的一些异同.pdf
- photoshop第一篇.ppt
- 2025年宁夏工商职业技术学院单招职业技能测试必刷测试卷最新.docx
- 念怀先烈演讲稿三分钟(3篇).docx
- 2025年太原幼儿师范高等专科学校单招职业适应性考试题库最新.docx
- 6S精益管理课件及课后试卷.pptx
- 小学生食品安全教育主题班会PPT课件.pptx
- 人教版(2025)选择性必修第二册Unit 1 Science and Scientists Reading and thinking 课件(共16张PPT)(内嵌视频+音频).pptx
- 2025年安徽卫生健康职业学院单招职业技能测试必刷测试卷最新.docx
- 小学生食品安全教育主题班会PPT课件.pptx
- 6S管理课件话术.pptx
- 2025年安康职业技术学院单招职业适应性考试题库附答案.docx
文档评论(0)