Introduction
Kivy est un framework open-source puissant pour créer des interfaces graphiques et des applications multiplateformes en Python. Il prend en charge Android, iOS, Windows, Linux et macOS, ce qui en fait un excellent choix pour développer des applications mobiles et desktop avec un code unique.
La bibliothèque fournit des outils pour construire des interfaces adaptatives, gérer les entrées clavier, souris, tactile et multitouch, et inclut son propre langage de balisage KV pour séparer la logique de l'interface utilisateur. Kivy utilise OpenGL pour le rendu, garantissant des performances élevées et des animations fluides.
Qu'est-ce que Kivy et ses caractéristiques
Principaux avantages du framework
Kivy se distingue des autres bibliothèques de création d'interfaces graphiques par plusieurs caractéristiques importantes. Le framework est entièrement écrit en Python avec Cython pour les composants critiques, ce qui assure des performances élevées.
Les principales fonctionnalités incluent :
- Prise en charge native du multitouch et des gestes
- Accélération matérielle via OpenGL ES 2.0
- Mise à l'échelle automatique de l'interface pour différentes résolutions d'écran
- Architecture modulaire extensible
- Prise en charge intégrée des animations et des effets
Architecture du framework
Kivy repose sur une architecture modulaire où chaque composant peut être remplacé ou étendu. Le noyau du framework est composé de plusieurs modules principaux : Clock pour la gestion du temps, Window pour la gestion de la fenêtre de l'application, Factory pour la création d'objets et Cache pour l'optimisation des performances.
Installation et configuration
Installation de base de Kivy
pip install kivy
Pour le développement sous Android, vous aurez besoin de l'utilitaire supplémentaire buildozer :
pip install buildozer
Installation des dépendances pour différentes plateformes
Windows
pip install kivy[base,media]
Linux (Ubuntu/Debian)
sudo apt-get install python3-kivy
macOS
brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
pip install kivy
Vérification de l'installation
Après l'installation, vous pouvez vérifier le bon fonctionnement avec un test simple :
import kivy
print(kivy.__version__)
Création de votre première application
Application Kivy minimale
from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
def build(self):
return Button(text="Cliquez ici")
MyApp().run()
L'exécution de ce code ouvrira une fenêtre avec un bouton qui occupe toute la zone de la fenêtre.
Structure d'une application Kivy
Chaque application Kivy suit cette structure de base :
- App — la classe principale qui lance et gère l'application
- Widget — l'élément d'interface de base dont tous les composants héritent
- Layout — des conteneurs pour organiser les widgets (BoxLayout, GridLayout, etc.)
- Screen — des écrans individuels pour la navigation dans l'application
Cycle de vie de l'application
Une application Kivy passe par plusieurs étapes :
- Initialisation de la classe App
- Appel de la méthode build() pour créer l'interface
- Lancement de la boucle principale d'événements
- Traitement des entrées utilisateur
- Arrêt de l'application lors de la fermeture
Composants et widgets principaux
Widgets d'interface utilisateur de base
Label — affichage de texte
from kivy.uix.label import Label
label = Label(