基于某LinuxQT图形图像课程设计

上传人:m**** 文档编号:493524080 上传时间:2023-08-29 格式:DOC 页数:23 大小:375.50KB
返回 下载 相关 举报
基于某LinuxQT图形图像课程设计_第1页
第1页 / 共23页
基于某LinuxQT图形图像课程设计_第2页
第2页 / 共23页
基于某LinuxQT图形图像课程设计_第3页
第3页 / 共23页
基于某LinuxQT图形图像课程设计_第4页
第4页 / 共23页
基于某LinuxQT图形图像课程设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于某LinuxQT图形图像课程设计》由会员分享,可在线阅读,更多相关《基于某LinuxQT图形图像课程设计(23页珍藏版)》请在金锄头文库上搜索。

1、word科技学院 QT课程设计 题 目 制作画图工具 学生 专业班级 学 号 所 在 系 指导教师 完成时间 年 月日 / 目录1概述11.1项目名称11.2 画图工具基本框架11.3 画图工具功能介绍2 1.3.1菜单2 1.3.2线型选择31.3.3画笔宽度31.3.4画笔颜色31.3.5清空画板31.3.6绘制图形3 1.3.7橡皮擦3 1.3.8坐标定位31.4 制作画图工具使用的编程语言4 1.5 编译环境41.6 使用QT编程语言制作画图工具的优势41.7 项目制作过程中应用到的QT知识4 1.7.1信号与槽4 1.7.2对话框4 1.7.3创建主窗口4 1.7.4自定义窗口部件4

2、 1.7.5布局管理51.7.6 QT中的事件机制5 1.7.7二维图形的绘制5 1.8 项目中建立的类5 1.9 类之间的相互关系52 总体设计62.1 主窗口6 2.1.1创建主窗口6 2.1.2添加菜单62.1.3添加子菜单6 2.1.4创建状态栏72.2 悬浮窗7 2.2.1线型选项72.2.2画笔宽度调节82.1.3画笔颜色选择8 2.2.4清空画板92.2.5绘制图形92.2.6橡皮擦92.3 画板10 2.3.1画布的创建102.3.2画布的颜色初始化10 2.3.3画板大小103详细设计103.1 子菜单功能的实现10 3.1.1 New功能的实现10 3.1.2 Open 功

3、能的实现11 3.1.3 Save 功能的实现11 3.1.4 SaveAs 功能的实现12 3.2 悬浮窗各个功能的实现13 3.2.1 Style功能的实现13 3.2.2 Width 功能的实现14 3.2.3 Color 功能的实现143.2.4 Clear 功能的实现16 3.2.5 绘图功能的实现163.2.6 eraser 功能的实现173.3 鼠标形状设置173.4 坐标位置显示功能的实现17结束语18致谢19参考文献201 概述1.1 项目名称制作画图工具1.2 画图工具基本框架运行结果如下图: 图1.1 图1.2 图1.3 图1.41.3 画图工具功能介绍1.3.1 菜单图

4、1.21. FileA. New(新建)B. Open(打开一个图片)C. Save(保存)D. SaveAs(另存为)E. Exit(退出)图1.32. HelpA.About(查看有关本工具的信息)1.3.2 线型选择A. SolidlineB. DotlineC. Dashline1.3.3 画笔宽度Width:可手动调节画笔宽度1.3.4 画笔颜色Color:可手动选择画笔颜色1.3.5 清空画板Clear:手动清空整个画板1.3.6 绘制图形1. 矩形rectangle2. 圆角矩形roundrectangle3. 椭圆ellipse(当按着Shift键绘制时为圆形)4. 弦chor

5、d5. 线line1.3.7 橡皮擦Eraser:宽度可选1.3.8 坐标定位状态栏:可以显示鼠标所在位置坐标(图1.4)状态栏1.4 制作画图工具使用的编程语言基于Linux的嵌入式QT1.5 编译环境 Qt Creator1.6使用QT编程语言制作画图工具的优势QT具有可以让编程人员灵活运用而且独特于其他编程语言的信号槽机制,尤其是在本项目制作过程当中遇到的一些棘手问题,当我们使用信号槽机制来解决的时候,很容易发现,那些原本复杂的问题将变得如此简单。1.7 项目制作过程中应用到的QT知识1.7.1 信号与槽1. 信号与槽的定义2. 信号与槽的关联3. 需要注意的问题1.7.2 对话框Qt消

6、息框1.7.3 创建主窗口1. QMain Window 类2. 创建主窗口的方法和流程3. 菜单和子菜单的创建1.7.4 自定义窗口部件1. QWidget类2. 从QWidget中派生1.7.5 布局管理1. 垂直布局2. 水平布局3. 网格布局1.7.6 QT中的事件机制1. 鼠标事件2. 键盘事件1.7.7 二维图形的绘制1. QPainter类的应用2. 图像的装载3. 图像的保存4. 坐标变换5. QImage类应用6. QT打印图形1.8 项目中建立的类1. Controlbox类2. Drawwidget类3. MainWindow类1.9 类之间的相互关系Controlbox

7、类:创建悬浮窗的各个控件(线宽、画笔颜色、清空等等)Drawwidget类:创建画板MainWindow类:主窗口主窗口调用Controlbox类和Drawwidget类设定整个画图工具的外部框架。运用信号-槽机制关联Controlbox类和Drawwidget类中的函数以及MainWindow类和Controlbox类中的函数。事件机制的实现2 总体设计2.1 主窗口2.1.1创建主窗口一般情况下,建立一个QT工程必须要有一个主窗口,而且仅有一个主窗口,所有需要实现的功能,在交互界面中必须在此窗口的基础上来实现,这样才使得整个工程的建立得以实现其自身价值。一个最简单的主窗口,没有菜单栏,没有

8、工具栏,没有状态栏。在此我们首先创建一个最简单的主窗口。2.1.2 添加菜单仅仅创建一个最简单的主窗口除了它所存在的基本框架以外没有任何其他的意义,所以要想实现画图工具所有的功能,接下来就要为主窗口添加菜单项,这是为下一步的循序渐进做铺垫。添加两个菜单项:1.File 2.HelpFile是文件菜单,任何一个关于事物的操作无非都是面向文件,所以文件菜单是一个必不可少的菜单项。fileMenu=menuBar()-addMenu(tr(&File);Help菜单项是关于软件版本的相关信息。helpMenu=menuBar()-addMenu(tr(&help);2.1.3 添加子菜单单单添加菜单

9、项是无法完成任何操作的,在QT里面,每一个事件的完成要么是依靠信号-槽机制进行关联,要么是通过事件机制来连接。在这里,我们首先添加子菜单,以方便之后借着信号-槽机制实现相应的功能。添加五个子菜单:1. NewnewAct=newQAction(QIcon(:/new/prefix1/image/new.PNG),tr(&New),this);2. OpenopenAct=newQAction(QIcon(:/images/open.png),tr(&Open.),this);3. Save saveAct=newQAction(QIcon(:/new/prefix1/image/save.PN

10、G),tr(&Save),this);4. SaveAssaveAsAct=newQAction(tr(Save&As.),this);5. ExitexitAct=newQAction(tr(E&xit),this);2.1.4 创建状态栏 状态栏是为了显示用户当前操作时的信息,使机器更加人性化。voidMainWindow:setMousePosDisplay(intx,inty)QStringstr=(+QString:number(x)+,+QString:number(y)+);statusBar()-showMessage(str);2.2 悬浮窗悬浮窗只是一个外部的架构,只有通过

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号