当用户打开我的PyQt4驱动GUI的QMainWindow中的特定选项卡时,
窗口需要自动调整大小,以便适合此特定选项卡的内容。
如您所知,使用Qwidget.resize()时,窗口(默认情况下在PC上)会立即调整大小。
这对眼睛来说并不容易,并且可能会让用户感到惊讶/困惑。
是否可以让窗口平滑过渡到新的窗口大小?
(本质上是动画)
(例如,一个非常可怕的方法是连续调用resize,每次稍微增加窗口大小以避免转换)
用户无法调整窗口大小,因此当窗口扩展到不同大小并从中收缩时,我知道它们的确切尺寸。我也知道我的所有用户都运行Windows 7(因为我的用户是平板电脑程序中的学校伙伴)。
有人知道PyQt4是否可以实现,以及如何实现它? (Qt Kinetic听起来与我有关,但事实证明难以搜索适当的信息)
谢谢! x 100
规格:
- PyQt4
- Python 2.7
- Windows 7
答案 0 :(得分:2)
有QPropertyAnimation可用于动画QObject属性,包括窗口大小。
我不确定它是否会在性能方面表现良好,因为它会像你说的那样永久调用resize(),但似乎这就是你想要的。
你可能做的是调整窗口的大小,但在某个动画过程中以某种方式禁用绘画(即覆盖paint()
),这样只有框架可以平滑调整大小(应该没问题)并且内部不会被重绘直到达到目标尺寸。