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的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数