我有以下问题:我想使用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()两次都是相同的? (在开始和结束时的值)?
提前感谢您的任何答案!
答案 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();