2

我通过创建 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);

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

4

1 回答 1

0

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

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

也可能有一些感兴趣的小部件标志,但我认为它们都已被移至 Qt-4 中的标志。

于 2009-10-01T18:30:50.673 回答