(1)设计用一个继承QMainWIndow的类作为整个画板程序的主界面,一个继承QWidget的类作为画板,然后一个shape基类, 另外有很多图形类继承了这个基类。这是程序的整体框架。
(2)细节方面,在主界面类中定义了很多个Action,每个Action就是一个画一种图形的操作,然后定义了信号和槽函数,通过信号和槽函数让画板类知道用户做出了什么动作,也就是画什么图形。
(3)在画板类中,重新实现了画图事件,鼠标按键按下事件,鼠标移动事件,鼠标按键抬起事件,通过这几个事件实现了记录鼠标移动的起始位置。
(4)在shape类中,定义了一个画图的纯虚函数,继承shape类的纯虚函数必须要实现这些类。
(5)在图形类中,实现了纯虚函数。