界面方面可以分为两个大体,色盘与机器人;
QGraphicsScene
做为图形管理器,并利用 QGraphicsView
的派生类 GraphicsView
将视图显示出来;QGraphicsScene
管理从而显示出来。ColorItem
,这个类是 QGraphicsItem
的派生类;RobotPart
(继承于 QGraphicsObject
)。重写 QWidget
的拖动进入、拖动离开、拖动释放事件;RobotPart
,各自实现绘制、拖动效果。Robot
同样继承于 RobotPart
。在构造函数中,创建头部、躯干、四肢对象,通过设置每个部分的位置,将其拼凑为一个完整的机器人;QParallelAnimationGroup
中,最后开启动画即可。QGraphicsScene
提供了接口来管理大量的2D图形 item(如圆,矩形,线等);GraphicsView
; QGraphicScene
会发出 changed()
信号。若要删除项,请调用 RemoveItem()
。QGraphicsView
传播事件; QGraphicsScene
的内容;如果显示不全,会展示滚动条;QGraphicsItem
类是 QGraphicsScene
中所有图形项的基类;QGraphicsEllipseItem
提供椭圆项QGraphicsLineItem
提供直线项QGraphicsPathItem
提供任意路径项QGraphicsPixmapItem
提供pixmap项QGraphicsPolygonItem
提供多边形项QGraphicsRectItem
提供矩形项QGraphicsSimpleTextItem
提供简单的文本标签项QGraphicsTextItem
提供高级文本浏览器项QGraphicsObject
继承自 QObject
和 QGraphicsItem
;主要实现拖放方面的逻辑;
拖放的时候,用于存储色盘的信息;
动画组,管理每个控件的动画;
设置某个控件的动画行为;