# QOpenGLWidget画图板 **Repository Path**: ucas_xa/qopen-glwidget-drawing-board ## Basic Information - **Project Name**: QOpenGLWidget画图板 - **Description**: 用QT的QOpenGLWidge实现的简单画图板功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/sadu_tqx - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-11-29 - **Last Updated**: 2024-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于Qt中QOpenGLWidget模块实现的画图板 ## 一、系统概述 - 本系统拟完成一个画图板,对多种常见图形进行基本操作 - 系统功能 - **二维图形的输入**:可输入或全部清除直线、矩形、圆、椭圆、多边形、文本等 - **二维图形的变换**:在直线、矩形、圆、椭圆、多边形、曲线内部可通过鼠标拖拽进行平移,通过按钮进行左右旋转和翻转,目前在直线上实现了图形旋转指点角度和基点等操作,其余图元重写相关函数即可 - **二维图形的标注**:目前在直线上实现了标注,其它的图形的标注同理,直接重写相关函数即可 - **文本的编辑**:通过鼠标双击实现文本的编辑; - 环境说明 - **IDE**:Qt Creator 9.0.2 (Community) - **Qt版本**:Qt 5.15.2 - **开发语言**:C/C++ ## 二、整体效果 ![image-20230503115947411](README.assets/image-20230503115947411.png) ## 三、主要设计思路 - 通过CDrawBodrdWidget创建主控制面板,这里使用单例模式,保证不重复创建 - 在systemdata中使用了工厂模式,对不同的图元进行处理 - shapeData是所有图元的基类,通过不断重写来实现图元的不同特性 ## 四、可完善地方 - 重写除直线外的其它图元的方法,来实现所有图元的功能 - 完善菜单栏和工具栏 - 图元绘制好后的保存 - 图元各种参数的设置,比如图形的颜色、是否填充、线条的粗细等等 - 还有很多地方值得深入思考,时间紧迫,各位可以自己发掘。。。 ## 五、参考资料 项目资料: ​ 项目资料都在《参考资料》文件夹里,主要参考这两个进行了一定改进 网页资料: ​ 在项目了的注释部分有网页资料的参考链接。 打包参考: ​ https://blog.csdn.net/weixin_43031092/article/details/104837577 ​ 打包后想要运行的话可以直接点击FinalVersion文件夹中的setup.exe进行安装,安装后就可以使用啦! ## 六、各位觉得有帮助,帮忙点个**star**,非常感谢。后续有时间继续改进。