QT简易画板练习
概述:画点、线(直线)、矩形、文本;修改画笔颜色、线宽;选中高亮图形、移动图形、删除图形、清空画板;以及图形树的构建。
结构与功能效果如下图:
代码结构如下图,定义了两个继承自QWidget的窗口部件,paintWidget和treeWidget(见下图左),绘制形状对象定义了Shape基类,ShapeManage类用于管理绘制图形,派生类点Point,线Line,矩形Rect,文本Label,应用多态,子类实现父类虚绘制函数。
工具类结构见左图,将具体绘制动作从paintWidget中剥离,定义工具类MyTools,ToolManage类用于管理具体工具,派生DrawTool(DrawPoint、DrawLine、DrawRect、DrawLabel)和SelectTool(SelectByPoint)类,执行具体绘制动作。
代码下载:DrawingBoard.rar