Kivy : développement d'applications GUI multiplateformes

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

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 :

  1. Initialisation de la classe App
  2. Appel de la méthode build() pour créer l'interface
  3. Lancement de la boucle principale d'événements
  4. Traitement des entrées utilisateur
  5. 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(                    

Recommendations