PyQt4 - 平滑窗口调整大小过渡?

时间:2011-12-13 07:34:54

标签: python qt windows-7 resize transition

当用户打开我的PyQt4驱动GUI的QMainWindow中的特定选项卡时,
窗口需要自动调整大小,以便适合此特定选项卡的内容。

如您所知,使用Qwidget.resize()时,窗口(默认情况下在PC上)会立即调整大小。
这对眼睛来说并不容易,并且可能会让用户感到惊讶/困惑。

是否可以让窗口平滑过渡到新的窗口大小?
(本质上是动画)

(例如,一个非常可怕的方法是连续调用resize,每次稍微增加窗口大小以避免转换)

用户无法调整窗口大小,因此当窗口扩展到不同大小并从中收缩时,我知道它们的确切尺寸。我也知道我的所有用户都运行Windows 7(因为我的用户是平板电脑程序中的学校伙伴)。

有人知道PyQt4是否可以实现,以及如何实现它? (Qt Kinetic听起来与我有关,但事实证明难以搜索适当的信息)

谢谢! x 100

规格:
- PyQt4
- Python 2.7
- Windows 7

1 个答案:

答案 0 :(得分:2)

QPropertyAnimation可用于动画QObject属性,包括窗口大小。

我不确定它是否会在性能方面表现良好,因为它会像你说的那样永久调用resize(),但似乎这就是你想要的。

你可能做的是调整窗口的大小,但在某个动画过程中以某种方式禁用绘画(即覆盖paint()),这样只有框架可以平滑调整大小(应该没问题)并且内部不会被重绘直到达到目标尺寸。