6

我有以下问题:我想使用 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() 两次都一样?(在开始值和结束值中)?

提前感谢您的任何答案!

4

1 回答 1

8

请尝试设置 size 属性。

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();
于 2012-07-12T04:20:34.727 回答