使用QPropertyAnimation调整窗口大小

时间:2012-07-11 21:31:15

标签: qt animation

我有以下问题:我想使用QPropertyAnimation调整窗口大小,以便看起来不错,但是在调整大小时窗口也会立即移动,而我不想要它,我只是想调整大小窗口,不要改变它的位置值。

所以,这是我的代码:

animation = new QPropertyAnimation(this, "geometry");
animation->setDuration(150);
animation->setStartValue(QRect(preferences::x(), preferences::y(), width, window_height_min));
animation->setEndValue(QRect(preferences::x(), preferences::y(), width, window_height_min+expand_general_to));
animation->start();

其中width和window_height_min和expand_general_to是我自己的变量,用于处理必须完成的大小调整量。但是,preferences :: x()和preferences :: y()真正处理我的窗口的位置,那么为什么它会移动,而prefereces :: x()两次都是相同的? (在开始和结束时的值)?

提前感谢您的任何答案!

1 个答案:

答案 0 :(得分:8)

请尝试设置尺寸属性。

animation = new QPropertyAnimation(this, "size");
animation->setDuration(150);
animation->setStartValue(QSize(width, window_height_min));
animation->setEndValue(QSize(width, window_height_min+expand_general_to));
animation->start();