QMovie 中的动画 GIF

发布于 2024-08-05 22:22:05 字数 529 浏览 7 评论 0原文

我通过创建 QLabel 并将电影设置为 QMovie 在我的应用程序中显示动画 gif。我遇到的问题是,当显示 gif 时,在整个动画中保持恒定颜色的图像的任何部分都会显示为背景颜色。我希望我能清楚地解释这一点。这是我用来创建动画的代码(如果有帮助的话):

rewardLabel=new QLabel();
rewardLabel->setCursor(QCursor(Qt::BlankCursor));
rewardLabel->setWindowFlags(Qt::FramelessWindowHint);
rewardLabel->hide();
string movieTemp="animations/"+animationFiles[animationIndex];
QString movieFile(movieTemp.c_str());
rewardMovie=new QMovie(movieFile);
rewardLabel->setMovie(rewardMovie);

如果我需要更好地解释情况,请告诉我。提前致谢。

I'm displaying an animated gif in my application by creating a QLabel, and setting the movie as a QMovie. The problem I'm having is that when the gif is displayed, any part of the image that stays a constant color throughout the animation shows up as the background color. I hope I'm explaining that clearly. Here's the code I'm using to create the animation if that helps:

rewardLabel=new QLabel();
rewardLabel->setCursor(QCursor(Qt::BlankCursor));
rewardLabel->setWindowFlags(Qt::FramelessWindowHint);
rewardLabel->hide();
string movieTemp="animations/"+animationFiles[animationIndex];
QString movieFile(movieTemp.c_str());
rewardMovie=new QMovie(movieFile);
rewardLabel->setMovie(rewardMovie);

Let me know if I need to explain the situation better. Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

看轻我的陪伴 2024-08-12 22:22:05

看一下 QWidget窗口属性。我相信您感兴趣的是:

Qt::WA_OpaquePaintEvent
Qt::WA_NoSystemBackground
Qt::WA_TranslucentBackground

可能有几个 小部件flags 也很有趣,但我认为它们都已转移到 Qt-4 中的 flags 中。

Take a look at the QWidgets window attributes. I believe the ones you're interested in are:

Qt::WA_OpaquePaintEvent
Qt::WA_NoSystemBackground
Qt::WA_TranslucentBackground

There might be a couple of widget flags of interest too, but I think they've all been moved to flags in Qt-4.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文