我有一个包含各种其他小部件的 QWidget。我想通过从上到下逐渐显示它,将它的高度从 0 增加到它的自然高度来为它显示在屏幕上制作动画。
我目前的方式是:
mAnimation = new QPropertyAnimation(this, "maximumHeight");
mAnimation->setStartValue(0);
mAnimation->setEndValue(400);
mAnimation->start();
这有两个问题: - 当高度达到一定高度时崩溃,并出现“qDrawShadeRect:无效参数”错误。 - 如果我将 0 更改为 100,它工作正常,但是我正在制作动画的 QWidget 中包含的小部件的布局随着小部件的动画而改变,开始时非常挤压在一起,随着它们获得更多空间而逐渐散开。这看起来很难看!
有人有什么建议吗?
最佳答案
对于第二个问题,我建议将小部件内的所有内容包装在另一个具有固定大小的小部件中。由于小部件的裁剪,这意味着小部件将在动画时显示全尺寸小部件的一部分。
关于c++ - Qt:动画 QWidget 的 'roll down',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016350/