Qt-demo-animatedtiles
Posted COCO_PEAK_NOODLE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt-demo-animatedtiles相关的知识,希望对你有一定的参考价值。
Qt很难用吗?人家10年前就做出来了,感觉用的人不多,先来张效果图,和这个例子是使用QtGraph*系列做动画
主要用到的类
1-QGraphicsPixmapItem
2-QGraphicsWidget
3-QGraphicsView
4-QGraphicsScene
5-QGraphicsItem
6-QState
7-QStateMachine
8-QParallelAnimationGroup
9-QAbstractTransition
这里继承实现了2个类,Pixmap和Button是用于布局场景的元素,继承实现的类View是显示场景。这里注意的是Pixmap还继承了QObject,为什么?可以注释掉试试,报错的地方就是答案。
从代码中可以看出QGraphicsScene用来组织QGraphicsItem,QGraphicsView用来装饰QGraphicsScene,QStateMachine用来管理每一种QState状态,QState用来为QGraphicsItem通过QPropertyAnimation设置运动动作,QParallelAnimationGroup是所有动作QPropertyAnimation的集合。
现在来看也不是那么难用,Qt背后是强大的技术支持,佩服!把每个类学精看来是需要时间的,比如你知道这个是干啥用的吗?
Button(const QPixmap &pixmap, QGraphicsItem *parent = 0)
: QGraphicsWidget(parent), _pix(pixmap)
{
//这句还是有效果的,可以注释看看
setAcceptHoverEvents(true);
//这句该觉没用
setCacheMode(DeviceCoordinateCache);
}
以上是关于Qt-demo-animatedtiles的主要内容,如果未能解决你的问题,请参考以下文章