gpt4 book ai didi

c++ - 在不生成新 QMovie 的情况下更改 GIF 动画速度

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:15:05 27 4
gpt4 key购买 nike

我正在为智力竞赛节目创建记分牌,我偶然发现了这个问题。下面的代码显示动画 .gif 的动画速度取决于玩家的当前分数。

    void Scoreboard::label1(int i)
{
ui->label_46->setNum(i);
ui->label_46->setStyleSheet("color: #ff5500; qproperty-alignment: AlignCenter; background-color: rgba(0,0,0,0%); font-size: 26 pt;");
ui->label_96->clear();
QMovie *logo1 =new QMovie("C:/Users/**REDACTED**/Desktop/esq-minimal-sample-adjusted-color.gif");
ui->label_96->setMovie(logo1);
logo1->start();
int speed;
speed=i*40;
if(speed<=0)
{
logo1->stop();
return;
}else if(speed==100)
{
return;
}else if(speed>500)
{
speed=500;
}
logo1->setSpeed(speed);
}

代码工作正常,直到得分被更改太多次(即插槽标签 1 已被多次激活)。这会导致在同一位置加载 .gif 的多个拷贝,从而导致程序变慢。

在将新的 .gif 加载到程序之前,有什么方法可以删除以前的 .gif 吗?

最佳答案

在该函数之外加载该电影一次 - 在 Widget 构造函数中并在以后多次重用它。

关于c++ - 在不生成新 QMovie 的情况下更改 GIF 动画速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com