[Solved] Placement and re-sizing of animated gif.
-
I am out of ideas. After hours at this either I have no idea what I am doing or Qt is broken. (3rd alternative is that animated gif in QMovies is just something that is not well supported.)
I am trying to play back animated gifs as QMovies. They are all the same size. But I would like to resize some and move them around the screen. I am using code that looks something like this:
@
imgLabel->clear();
imgLabel->setMovie(apt_movie);// Resize the label if necessary.
imgLabel->setScaledContents(true);
my_size = QSize(size_anim_x, size_anim_y);
imgLabel->resize(my_size);// Reposition the label if necessary.
imgLabel->move(pos_anim_x, pos_anim_y);@
What appears to work is the re-sizing of the QLable imgLabel. Also, no matter what I try, the positioning of the QLable imgLabel does not appear to work. The QLable imgLabel appears to be always centered in the screen. Ahhh!
Here is the layout that I used with the above code:
@
imgLabel->setMovie(apt_movie);QHBoxLayout *horz_layout = new QHBoxLayout; horz_layout->addStretch(0); horz_layout->addWidget(imgLabel); horz_layout->addStretch(0); horz_layout->setMargin(0); horz_layout->setSpacing(0); QVBoxLayout *layout = new QVBoxLayout; layout->addStretch(0); layout->addLayout(horz_layout); layout->addStretch(0); layout->setMargin(0); layout->setSpacing(0); setLayout(layout);@
I thought about not using the "addStretch(0)" before and after the QLabel imgLabel. But when I remove them it appears that the QLabel imgLabel expands to the entire screen. Always. Even when I tell it to become small.
Do any see something that I've done wrong?
-thanks for any help
-
No one answered so I'll just post our work around.
I could not get the above to work at all. I still think it should. And have no idea why it doesn't.
What I finally did was to use style sheets and formed up a QString describing what I wanted to to. If I wanted to move the QLabel with the animated GIF around, I would use different numbers when creating the QString used in the style sheet command.
-thanks
-
I'll change this to "solved" even though I believe the solution I used is a work around. What I would like to know is why my original approach did not work. With that kind of knowledge I'm thinking I could figure my way out of future problems. This way (using a work around) it feels a lot like guessing until something works.