- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为智力竞赛节目创建记分牌,我偶然发现了这个问题。下面的代码显示动画 .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/
如何在 PyQt5 中使用 QMovie 应用边框半径或以其他方式实现圆角效果?它似乎对QSS没有反应。虽然我不认为它是相关的,但无论如何,这是我当前的代码,以给出我尝试过的内容: image = Q
我正在使用 QMovie 在 QLabal 上播放 webp 动画,代码如下: Foo::Foo() { movie_ = new QMovie("/path/to/my.webp", "",
开发者小伙伴们!我有一个关于 Qt 和多线程的问题。 === 简短版 ============================================ Qt可以做我想做的事吗?即(1)显示装载
嗨,我认为 QMovie 可以采用 QBuffer 吗?这是我的代码。 a = QByteArray(img) b = QBuffer(a) self.movie = QMovie(b, 'GIF')
我正在尝试使用 QLabel 播放 gif 动画。gif 动画用于显示加载状态。每次用户进入场景时都应播放动画。 随着进入次数的增加,标签越来越大。我不知道为什么。 这是简化的代码。 .h 文件: #
我需要在 QtDesigner 中加载 QMovie。我注意到很多类无法从 QtDesigner 访问。我通常在 QtDesigner 中进行设计,然后直接在代码中加载 ui 文件。这样我就不用担心用
我有一个简单的初始屏幕扩展,它应该在用户等待主窗口时显示一点动画(动画 gif)。问题是,只显示第一帧而不是全部: class SplashScreen : public QSplashScreen
我创建了一个 QLabel 并将它的电影设置为带有动画 gif 的 QMovie 对象。然后在我的应用程序的 resizeEvent 中调整大小并移动标签,使其居中/适合布局。这工作正常,但电影有很多
我如何在 PyQt5 中重新加载新的动画 gif 文件? 我想做的事: 加载 test.gif 播放 test.gif 用另一个任意动画 gif 覆盖原始 test.gif 文件 单击按钮时让 Qmo
我正在尝试将 gif 合并到我的项目中,但是源文件的分辨率很小,加载时会变得模糊。 过去,当我在 QLabels 中使用小图片时,它们在缩放时变得模糊,因为 Qt 试图在缩放时自动“平滑”它们。在那些
我可以用这样的代码旋转QPixmap QPixmap pix("img.jpg"); QMatrix rm; rm.rotate(90); pix = pix.transformed(
我正在为智力竞赛节目创建记分牌,我偶然发现了这个问题。下面的代码显示动画 .gif 的动画速度取决于玩家的当前分数。 void Scoreboard::label1(int i) {
我在 Windows 上部署显示动画 gif 的应用程序时遇到问题。为此,我使用 QMovie,如果我从 QtCreator 启动它,它工作正常。我收集了运行该应用程序所需的文件,我可以很好地启动它,
我想在currentFrameNumber等于frameCount时使用frameChanged(int)发出信号,我的QT版本是4.7.4 QObject::connect(movie,SIGNAL
我是 Ubuntu 和 Qt 的新手。我需要显示其他长时间操作的忙碌状态。所以,我只是尝试使用等待动画 gif 文件来加载,而不是使用进度条。 我正在为 Qt 项目使用 Eclipse 编辑器。 Tr
我已经为我的问题搜索了一些解决方案,但一无所获...我在一个 QLabel 中使用带有 GIF 动画的 QMovie 来获取加载状态,好吗?这很简单,我在这个链接中了解到:GIF animation
我看了很多问题,其中大部分不在这个网站上,他们都提到 QMovie 必须用文件名调用,就像这样 anim = QtGui.QMovie("Filename.gif") #or self.movie =
我正在尝试在 Qt 中使用 QMovie 来播放两个 GIF。当一个 gif 结束时,我需要播放下一个。 问题就出在这里。我想将信号连接到插槽,以便知道 GIF 动画何时结束。这是我的代码示例: #i
我是一名优秀的程序员,十分优秀!