C++基于Qt中QOpenGLWidget模块实现的画图板源码+可执行文件

基于Qt中QOpenGLWidget模块实现的画图板

一、系统概述

  • 本系统拟完成一个画图板,对多种常见图形进行基本操作
  • 系统功能
    • 二维图形的输入:可输入或全部清除直线、矩形、圆、椭圆、多边形、文本等
    • 二维图形的变换:在直线、矩形、圆、椭圆、多边形、曲线内部可通过鼠标拖拽进行平移,通过按钮进行左右旋转和翻转,目前在直线上实现了图形旋转指点角度和基点等操作,其余图元重写相关函数即可
    • 二维图形的标注:目前在直线上实现了标注,其它的图形的标注同理,直接重写相关函数即可
    • 文本的编辑:通过鼠标双击实现文本的编辑;
  • 环境说明
    • IDE:Qt Creator 9.0.2 (Community)
    • Qt版本:Qt 5.15.2
    • 开发语言:C/C++

完整代码下载地址:画图板源码+可执行文件

二、整体效果

C++基于Qt中QOpenGLWidget模块实现的画图板源码+可执行文件_第1张图片

三、主要设计思路

  • 通过CDrawBodrdWidget创建主控制面板,这里使用单例模式,保证不重复创建
  • 在systemdata中使用了工厂模式,对不同的图元进行处理
  • shapeData是所有图元的基类,通过不断重写来实现图元的不同特性

四、可完善地方

  • 重写除直线外的其它图元的方法,来实现所有图元的功能
  • 完善菜单栏和工具栏
  • 图元绘制好后的保存
  • 图元各种参数的设置,比如图形的颜色、是否填充、线条的粗细等等
  • 还有很多地方值得深入思考,时间紧迫,各位可以自己发掘。。。

五、参考资料

项目资料:

​ 项目资料都在《参考资料》文件夹里,主要参考这两个进行了一定改进

完整代码下载地址:画图板源码+可执行文件

你可能感兴趣的:(c++,qt,开发语言)