2009-10-01 14 views
1

J'affiche un gif animé dans mon application en créant un QLabel et en définissant le film comme un QMovie. Le problème que j'ai est que lorsque le gif est affiché, toute partie de l'image qui reste une couleur constante tout au long de l'animation apparaît comme la couleur de fond. J'espère que je l'explique clairement. Voici le code que je utilise pour créer l'animation si cela aide:Gifs animés dans QMovie

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); 

Laissez-moi savoir si je dois mieux expliquer la situation. Merci d'avance.

Répondre

0

Jetez un oeil à la QWidget s window attributes. Je crois que ceux qui vous intéressent sont:

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

Il pourrait y avoir deux ou trois widget flags d'intérêt aussi, mais je pense qu'ils ont tous été déplacés vers des drapeaux dans Qt-4.