Sommaire

Des animations simples en PyQt Animation

1. Introduction

Techniquement, l’animation PyQt obéit aux mêmes préceptes que ceux qui régissent des technologies comme CSS Animations ou WPF (Windows Presentation Foundation). Ainsi, le principe général consiste à discrétiser des positions intermédiaires comprises entre une valeur de départ et une valeur d’arrivée.

Comme indiqué dans la documentation de la classe QPropertyAnimation, pour instancier cette classe, il faut préciser les deux paramètres suivants :

  • Le widget « cible » de l’animation

  • La propriété de ce widget concernée par l’animation

Prenons l’exemple simple d’une fenêtre contenant un petit formulaire contenant lui-même un bouton à cliquer. Nous désirons créer une animation qui fait varier les dimensions de ce bouton (en grossissant sa hauteur ou sa largeur ou même les deux propriétés).

Le code utilisé est issu du chapitre Inventaires des widgets PyQt. Il consiste en une simple fenêtre héritant de QWidget et contenant quelques widgets : un label, une zone d’édition et un bouton.

import sys 
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QCheckBox 
from PyQt5.QtWidgets import QFormLayout, QLabel, QLineEdit, QComboBox,  
QRadioButton 
 
 
 
class FenetreSimple(QWidget): 
    def __init__(self):  ...