PyQt4 - плавный переход изменения размера окна? - PullRequest
0 голосов
/ 13 декабря 2011

Когда пользователь открывает определенную вкладку внутри QMainWindow моего графического интерфейса, управляемого PyQt4,
размер окна должен быть автоматически изменен, чтобы содержимое этой конкретной вкладки подходило.

Как вы знаете,при использовании Qwidget.resize () размер окна (по умолчанию на ПК) мгновенно изменяется.
Это непросто для глаз и, вероятно, удивит / запутает пользователя.

Возможно лиокно плавно переходит в новый размер окна?
(анимация по существу)

(Например, действительно ужасным методом будет непрерывный вызов resize, каждый раз слегка увеличивая размер окна, чтобы избежатьдо перехода)

Размер окна не регулируется пользователем, поэтому, когда окно расширяется и сжимается к разным размерам, я знаю их точные размеры.Мне также известно, что все мои пользователи используют Windows 7 (поскольку мои пользователи являются одноклассниками в программе для планшетов).

Кто-нибудь знает, возможно ли это с PyQt4 и как этого добиться?
(Qt Kinetic показался мне подходящим, но поиск нужной информации оказался трудным)

Спасибо!x 100

Характеристики:
- PyQt4
- Python 2,7
- Windows 7

1 Ответ

2 голосов
/ 13 декабря 2011

Существует QPropertyAnimation , который можно использовать для анимации свойств QObject, включая размер вашего окна.

Я не уверен, будет ли он работать хорошо с точки зрения производительности, так как он будет вызывать resize () постоянно, как вы говорите, но кажется, что это то, что вы хотите.

Что вы могли бы сделать, это изменить размер окна, но каким-то образом отключить рисование (т.е. переопределить paint()) во время этой анимации, чтобы плавно изменялся размер только рамки (должно быть в порядке), и внутренняя часть не перерисовывалась до целевой размер достигнут.

...