• 1401阅读
  • 3回复

[提问]希望大佬解答 [复制链接]

上一主题 下一主题
离线王基传
 

只看楼主 倒序阅读 楼主  发表于: 2021-01-26
自定义了一个类X,类X中用timerEvent()和PainterEvent()实现了一个简单的动画。然后我在另外一个类的槽函数中做如下步骤:
void slot_xxx()
{
    x = new X;
    x->startAnimation();

   ...省略代码若干

    x->stopAnimation();
    delete x;
    x = nullptr;
}
动画不显示,测试应该是事件执行顺序导致的,槽函数事件在timerEvent事件之前,有什么方法可以解决这个问题吗?
离线九重水

只看该作者 1楼 发表于: 2021-01-26

从没见过一个在函数里面一闪而过的类对象可以实现动画。。。
x还没来得及作用,就被你delete了。。。。
离线snow_man_0

只看该作者 2楼 发表于: 2021-01-27
new delete没有问题,可能是动画播放太快,可在动画painterEvent里面的间隔加QThread::Sleep
在线fsu0413

只看该作者 3楼 发表于: 2021-01-27
动画怎么实现的?用timerevent的话,你这中间阻塞了timerevent也触发不了啊
快速回复
限100 字节
 
上一个 下一个