1
REPUBLIQUE DEMOCRATIQUE DU CONGO
ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE
INSTITUT SUPERIEUR DES SCIENCES DE L’INFORMATIQUE ET DE GESTION DE
BUNIA
Arrêté Ministériel No 114/MINESURS/CABMIN/BCL/CD/GG/2013.
B.P.372 BUNIA
SECRETARIAT GENERAL ACADEMIQUE
E-mail : issigebunia@gmail.com
SECTION : SCIENCES COMMERCIALES, HOTELLERIES ET HOTESSE
DEPARTEMENT : INFORMATIQUE DE GESION
ANNEE D’ETUDE: L2 IG
PROGRAMMATION GRAPHIQUE ET EVENEMENTIELLE EN
PYTHON ET C++
NOM DE TITULAIRE : Ir. ASS. MAKI BAHATI Bienvenu Bella
ANNEE ACADEMIQUE : 2021-2022
1
0. OBJECTIFS DU COURS
a. Objectif général du cours
Le cours de programmation graphique et événementielle en Python ou C++ a
pour l’objectif général d’initier les étudiants de la L1 IG à une réflexion logique conduisant
à la programmation évènementielle et à la création d’une application informatique finie
et prête à être utilisée en C++ ou soit Python. Ainsi dans les séances de cette année nous
allons construire des compétences pour le développement des applications informatiques
en python porteuses de solutions aux éventuels problèmes de la vie courante.
b. Objectifs spécifiques
A l’issue de ce cours, l’étudiant de L1 IG ISSIGE/BUNIA sera à mesure :
- D’utiliser les conditions et les boucles avec le langage de programmation python
dans des situations distinctes ;
- D’utiliser des fonctions et objets en python;
- De créer l’interface graphique ;
- Utilisation des différentes bibliothèques et de widgets ;
- Utilisation correcte de root, page web ;
- Utilisation de la base de données SQL avec Flask ;
- Réalisation des actions CRUD avec une base de données en MYSQL ou SQLITE3 ;
- De réaliser un projet informatique complet desktop et web en python-Flask.
c. Introduction
Le cours « programmation graphique et événementielle en C++ et en Python »
est un cours dispensé dans les promotions de L1 IG selon l’ancien système
d’enseignement. Il leur permettant d’avoir un bagage favorable pour leur permettre une
réflexion logique et structurée conduisant à la conception des applications informatiques
capable de porter de solution aux problèmes de la vie courante.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
2
Chapitre I. INTRODUCTION AU LANGAGE DE PROGRAMMATION PYTHON
I.1. La comparaison entre le langage python et C++
a. Les points commun entre python et C++
Ils sont des langages de programmation généraliste conçue pour une utilisation
quotidienne et une adaptabilité. Cette dernière fonctionnalité est très importante pour
toutes les deux. Ils sont tous les langages orientés objets. Donc ils peuvent travailler plus
rapidement et plus efficacement.
b. Le langage de programmation C++
Le langage C++ a été créé par un Ir informaticien nommé Bjarne Stroustrup
depuis 1979. Bien qu’il s’appela a l’origine « C With Classes », son nom a été change pour
C++ avec j’ajout de plusieurs fonctionnalités différentes en 1983. Gardez à l’esprit qu’il est
une version super de C.
C++ est le contraire de python en ce qui concerne l’aspect simplicité. En fait, il est
considéré comme l’un des langages des programmations les plus difficiles (si pas le plus
difficile). Sa syntaxe extrêmement difficile permet au c++ d’être extrêmement flexible.
C’est également la raison pour laquelle il est souvent choisi de travailler avec des conçu
simultanément pour plusieurs plates-formes différentes.
c. Le langage de programmation Python
Que ce que python : un est langage de programmation dynamique et polyvalent. C’est
une option souhaitable pour le développement rapide d’application. Le python réduit le
coût de la maintenance du programme. Les avantages de python résident dans la façon
dont l’interpréteur et la bibliothèque de ressources sont disponibles gratuitement sur
internet. Python devient donc une excellente option pour quiconque ne souhaite pas
investir dans le coût de développement. Il est interprété, orienté objet, puissant et
dynamique.
Python est un langage de programmation de haut niveau. Cela signifie que le
codage est peu impliqué. Au lieu de cela, la syntaxe de python est en grande partie écrite
de la même manière que l’anglais. Cependant, l’un des aspects les plus indéniables des
pythons est qu’il est très facilement adaptable à des multiples plates-formes différentes.
Bureaux, mobiles, développement web, intelligence Artificielle, etc.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
3
d. Les fonctions de paramètres en python
Syntaxe : python est un langage extrêmement dynamique. Lors de la saisie, le
développeur n’a pas besoin de saisir les variables.
Un autre élément de la facilité avec le langage est qu’il ne suit pas les règles d’indentation
ou d les accolades. Le résultat est un langage qui est convivial.
Il a vu jour au début de l’année 1989 par GUIDO ROSSUM
Pourquoi lui et pas un autre ? : À cause de sa simplicité (lisible et la syntaxe de code),
puissance, performance, communautaire.
I.2. Introduction au langage Python
I.2.1. Utilisation de python dans le mode
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
4
Compétence de python
Il est capable de développer les applications desktop, application mobile, des
jeux vidéo et les applications web ou des sites web.
I.2.2. Les kits de développement en langage Python et leurs Installations
a. L’environnement PYTHON
C’est un endroit d’exécution de code (python)
L’installation de l’environnement Python
Cliquer sur « Install Now »
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
5
Autoriser l’installation de l’environnement par « oui »
Progression de l’installation
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
6
Cliquer sur « Close »
b. IDE PYCHARM : Un environnement pour écrire le code
Téléchargement et Installation de PyCharm
Entrez sur le lien www.pycharm.org/download
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
7
Téléchargez la version community (communautaire)
Apres le téléchargement, procédez à l’installation comme suit :
Installez le logiciel sur le disque C sur son emplacement par défaut. Donc fait seulement
« Next »
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
8
Créer l’icône au bureau « 64 bit launcher » et créer associations de type de ficher
« .py », puis faites « NEXT »
Installer
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
9
Progression d’installation
Cliquez sur « Finish »
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
10
I.3. Bibliothèques et les Framework python selon le type d’application à développer
a. Pour développer des applications desktop : python utilise la bibliothèque « TKINTER »
b. Pour le développement des applications mobiles, python offre on développeur par
exemple la bibliothèque « KIVY »
c. Pour le développement des jeux vidéo, python combine les trois modules qui sont :
« PYGAME », « PYTMX » et « PYSCROLL »
d. Pour le développement des applications web, python offre deux Framework :
Framework FLASK et Framework JANGO.
I.4. Création d’un nouveau projet python
Pour créer un nouveau projet, il faut Cliquer sur « create new project » dans le dans le
IDE Pycharm
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
11
Ici vous choisissez l’emplacement de projet et le nom puis créer.
Création n’un nouveau fichier python
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
12
Nommez le fichier et l’extension se choisit automatiquement selon le type du fichier
Premier programme python
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
13
I.5. Le Commentaire en python
Dans un script, tout ce qui suit le caractère # est ignoré par Python jusqu’à la
fin de la ligne et est considéré comme un commentaire .Les commentaires doivent
expliquer votre code dans un langage humain.
Il permet une bonne compréhension des lignes de codes et leurs corrections en cas
d’erreurs.
Exemple :
I.6. Variable python
Une variable est une zone de la mémoire de l’ordinateur dans laquelle une
valeur est stockée. Aux yeux du programmeur, cette variable est définie par un nom, alors
que pour l’ordinateur, il s’agit en fait d’une adresse, c’est-à-dire d’une zone particulière de
la mémoire.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
14
En Python, la déclaration d’une variable et son initialisation (c’est-à-dire la
première valeur que l’on va stocker dedans) se font en même temps. Pour vous en
convaincre, testez les instructions suivantes après avoir lancé l’interpréteur :
a. Exemples d’utilisation des variables
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
15
b. Les remarques sur les types de variables
Python reconnaît certains types de variable automatiquement (entier, float).
Par contre, pour une chaîne de caractères, il faut l’entourer de guillemets
(doubles, simples, voire trois guillemets successifs doubles ou simples) afin d’indiquer à
Python le début et la fin de la chaîne de caractères.
Dans l’interpréteur, l’affichage direct du contenu d’une chaîne de caractères se
fait avec des guillemets simples, quel que soit le type de guillemets utilisé pour définir la
chaîne de caractères.
En Python, comme dans la plupart des langages de programmation, c’est le
point qui est utilisé comme séparateur décimal. Ainsi, 3.14 est un nombre reconnu comme
un float en Python alors que ce n’est pas le cas de 3,14.
Les exemples sont directement associés avec ceux de déclaration de variable ci-haut
fuguée.
c. Variables locales, variables globales
Lorsque vous définissez une variable à l’intérieur du corps d’une fonction,
cette variable n’est accessible qu’à la fonction elle-même. Ainsi cette variable est dite une
variable locale.
Cependant, quand vous définissez une variable à l’extérieur du corps de la
fonction, cette variable sera accessible à partir toute les fonctions. Ainsi cette variable est
dite une variable globale.
NB : Pour déclarer une variable globale, il faut initialiser par le terme « global » suivit de
« Nom_du_Variable »
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
16
I.7. Les opérations en python
a. Les opérations sur les variables des types numériques
Les quatre opérations arithmétiques de base se font de manière simple sur
les types numériques : les opérations sur les nombres entiers et les nombres floats
c. Les cas particuliers
Ici nous allons voir les symboles permettant d’obtenir le quotient, la puissance d’un
nombre et le reste d’une division entière.
1) Pour obtenir le quotient, on utilise le symbole //
2) Pour élever un nombre en puissance, on utilise ** et
3) Pour obtenir le reste de la division, on utilise le symbole % appelé « Modulo ».
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
17
d. Opérations sur les variables du type chaines de caractères (string)
Il existe deux opérations possibles à appliquer sur les chaines de caractères. Celle de
l’addition appelée la concaténation (+) et celle de la multiplication, appelée la
duplication de chaines de caractères (*)
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
18
I.8. Conditions (Tests) en programmation Python
a. Définition
Le Test est un élément essentiel a tout langage informatique si on va qui
donner un peu de complexité car ils permettent à l’ordinateur de de prendre des
décisions. Ainsi pour se faire le python utilise l’instruction « if », « elseif » et « else ».
Lorsque l’il s’agit de plusieurs cas.
I.9. LES BOCLES EN PYTHON
En programmation, on est souvent amené à répéter plusieurs fois une
instruction. Incontournables à tout langage de programmation, les boucles vont nous
aider à réaliser cette tâche de manière compacte et efficace.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
19
a. Boucle For (pour)
Imaginez par exemple que vous souhaitiez afficher les éléments d’une liste les
uns après les autres. Dans l’état actuel de vos connaissances, il faudrait taper quelque
chose du style :
Si votre liste ne contient que 4 éléments, ceci est encore faisable mais imaginez
qu’elle en contienne 100 voire 1000! Pour remédier à cela, il faut utiliser les boucles.
Regardez l’exemple suivant :
La variable « etudiant » est appelée variable d’itération, elle prend
successivement les différentes valeurs de la liste « ListeEtudiant » à chaque itération de
la boucle.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
20
b. La boucle for each
C’est une boucle qui permet d’affiche ou d’exécuter une instruction pour chaque valeur
d’une liste donnée.
Dans le monde concret ou dans la programmation effective le mot « each » disparait et
nous restons toujours avec le mot « for » ; ainsi, il est sous-entendu dans la variable du
type liste qui sera affectée à la ligne d’instruction de boucle.
Exemple :
c. La boucle while
Une autre alternative à l’instruction for couramment utilisée en informatique est la boucle
while. Le principe de son utilisation est simple. Une série d’instructions est exécutée tant
qu’une condition est vraie. Par exemple :
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
21
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
22
I.10. Les listes (vecteur)
Les listes sont des collections ordonnées d’objets. Comme les chaînes de
caractères, les listes font partie d’un type général que l’on appelle séquences sous Python.
Comme les caractères dans une chaîne, les objets placés dans une liste sont rendus
accessibles par l’intermédiaire d’un index (un nombre qui indique l’emplacement de
l’objet dans la séquence).
Les listes sont modifiables
Contrairement aux chaînes de caractères, les listes sont des séquences
modifiables. Cela nous permettra de construire plus tard des listes de grande taille,
morceau par morceau, d’une manière dynamique (c’est-à-dire à l’aide d’un algorithme
quelconque). Exemples :
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
23
Elargir une liste
Insérer un élément à la fin de la liste
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
24
Retirer un élément de la liste
Nettoyer les éléments d’une liste ou le vider
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
25
I.11. Les fonctions python
L’un des concepts les plus importants en programmation est celui de
fonction24. Les fonctions permettent en effet de décomposer un programme complexe en
une série de sous-programmes plus simples, lesquels peuvent à leur tour être décomposés
en fragments plus petits, et ainsi de suite.
D’autre part, les fonctions sont réutilisables : si nous disposons d’une fonction
capable de calculer une racine carrée, par exemple, nous pouvons l’utiliser un peu partout
dans nos programmes sans avoir à la ré-écrire à chaque fois.
MB : pour qu’une fonction renvoie un résultaient ou un élément, il faut appelle cette
fonction.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
26
I.12. Fonction avec paramètre
Dans nos derniers exemples, nous avons défini et utilisé une fonction qui
affiche le maximum. Nous pouvons bien entendu réécrire entièrement une nouvelle
fonction pour cela. Mais si nous nous intéressons plus tard aux valeurs dynamiques, il
nous faudra encore recommencer. Ne serait-il donc pas plus intéressant de définir une
fonction qui soit capable d’afficher n’importe quelle valeur, à la demande ?
Lorsque nous appellerons cette fonction, nous devrons bien évidemment
pouvoir lui indiquer quelle table nous souhaitons afficher. Cette information que nous
voulons transmettre à la fonction au moment même où nous l’appelons s’appelle un
argument. Nous avons déjà rencontré à plusieurs reprises des fonctions intégrées qui
utilisent des arguments. La fonction sin(a), par exemple, calcule le sinus de l’angle a. La
fonction sin() utilise donc la valeur numérique de a comme argument pour effectuer son
travail.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
27
I.13. Les Objets en Python
La programmation orientée objet (POO) est un concept de programmation très puissant
qui permet de structurer ses programmes d’une manière nouvelle.
En POO, on définit un « objet » qui peut contenir des « attributs » ainsi que des «
méthodes » qui agissent sur lui-même.
Par exemple, on définit un objet « pain » qui contient les attributs « sucre » et « farine »,
ainsi qu’une méthode « levure » pour former le pain. En Python, on utilise une « classe »
pour construire un objet. Dans notre exemple, la classe correspondrait maintenant alors
au « moule » ou casserole utilisé pour fabriquer autant d’objets pain que nécessaire.
Une Classe en python
Est une représentation abstraite d’un objet ou encore représentation par une maquette
d’un objet réel.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
28
Un Objet (une instance) de la classe
Elément réel dont il est question ; c’est une représentation d’un objet ou élément
de la vie réelle. Il est une instance d’une classe. Ainsi il est créé à partir d’une classe
quelconque. Pour dire qu’il faut d’abord créer la classe pour créer des objets à partir de
cette classe.
Exemple : avec la classe Joueur et l’objet joueur1
14. La méthode « constructeur »
Lors de l’instanciation d’un objet à partir d’une classe, il peut être intéressant
de lancer des instructions comme par exemple initialiser certaines variables.
Pour cela, on ajoute une méthode spéciale nommée. __init__() : cette méthode
s’appelle le « constructeur » de la classe. Il s’agit d’une méthode spéciale dont le nom est
entouré de doubles Under scores.
En effet, elle sert au fonctionnement interne de notre classe, et sauf cas
extrêmement rare, elle n’est pas supposée être lancée comme une fonction classique par
l’utilisateur de la classe. Ce constructeur est exécuté à chaque instanciation de notre
classe, et ne renvoie pas de valeur, il ne possède donc pas de return.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
29
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
30
I.15.Les Méthodes
On appelle une Méthode, une fonction définie au sein d’une classe. Pour
exécuter une méthode à l’extérieur de la classe, la syntaxe générale est instance.
Méthode(). Attention, on peut confondre une méthode à un attribut également, concept
que vous croiserez peut-être en consultant de la documentation externe.
En général, on distingue attributs et méthodes (comme nous le ferons
systématiquement sous ce point).
NB : nous venons de dire ci-haut qu’une méthode est une fonction définie au sein d’une
classe alors qu’on appelle des attributs, des variables créées dans une classe. Ils vont être
utilisés par l’instance de cette classe (objet)
ICI nous distinguons 3 types des méthodes :
1. Les getters (accesseurs): sont des méthodes qui permettent de récupérer les
informations (les données ou une valeur quelconque)
Exemples :
2. Les setters (mutateur) : sont des méthodes qui permettent de modifier ou de
pouvoir changer des valeurs.
Exemple :
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
31
I.16. Héritage
L’héritage peut évoquer la capacité qu’ont nos parents à nous transmettre certains traits
physiques ou de caractère (ne dit-on pas, j’ai hérité ceci ou cela de ma mère ou de mon
père?). Qu’en est-il en programmation
En programmation, l’héritage est la capacité d’une classe d’hériter des propriétés d’une
classe pré-existante. On parle de classe mère et de classe fille. En Python, l’héritage peut
être multiple lorsqu’une classe fille hérite de plusieurs classes mères.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
32
En Python, lorsque l’on veut créer une classe héritant d’une autre classe, on ajoutera après
le nom de la classe fille le nom de la ou des classe(s) mère(s) entre parenthèses :
Exemple :
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
33
Chapitre II. CREATION D’INTERFACE UTILISATEUR AVEC BIBLIOTHEQUE TKINTER
III.1. introduction sur la bibliothèque TKINTER
Dans votre carrière « python es que » il se peut que vous soyez amené à vouloir
développer une application graphique, on parle encore de graphical user interface ou GUI.
Jusqu’à maintenant, vous avez fait en sorte qu’un utilisateur interagisse avec votre code
via la ligne de commande.
Par exemple : python mon_script.py file.gbk blabla blublu
Les arguments passés à la ligne de commande sont tout à fait classiques dans
le monde de la socio_informatique. Toutefois, il se peut que vous développiez un
programme pour une communauté plus large, qui n’a pas forcément l’habitude d’utiliser
un shell et la ligne de commande. Une GUI permettra un usage plus large de votre
programme, il est donc intéressant de regarder comment s’y prendre.
Dans notre exemple ci-dessus on pourrait par exemple développer une interface où
l’utilisateur choisiraitlenomdufichierd’entréeparl’intermédiaired’uneboîtededialogue, et
de contrôler les options en cliquant sur des boutons, ou des « listes de choix ».
Au-delà de l’aspect convivial pour l’utilisateur, vous pourrez, avec une GUI,
construire des fenêtres illustrant des éléments que votre programme génère à la volée.
Ainsi, vous « verrez » ce qui se passe de manière explicite et en direct!
Par exemple, si on réalise une simulation de particules, on a envie de voir un «
film » des particules en mouvement, c’est-à-dire comment ces particules bougent au fur
et à mesure que les pas de simulation avancent. Une GUI vous permettra une telle
prouesse! Enfin, sachez que certains logiciels scientifiques ont été développés avec la
bibliothèque graphique Tk (par exemple pymol, vmd, etc.).
Qui sait, peut-être serez-vous le prochain développeur d’un outil incontournable.
Quelques concepts liés à la programmation graphique
Lorsque l’on développe une GUI, nous créons une fenêtre graphique contenant notre
application, ainsi que des widgets inclus dans la fenêtre.
Les widgets (window gadget) sont des objets graphiques permettant à l’utilisateur
d’interagir avec votre programme Python de manière conviviale.
Par exemple, dans la fenêtre sur la figure ci-haut, les boutons, les listes de choix, ou encore
la zone de texte sont des widgets.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
34
L’utilisation d’une GUI va amener une nouvelle manière d’aborder le
déroulement d’un programme, il s’agit de la programmation dite « événementielle ».
Jusqu’à maintenant vous avez programmé « linéairement », c’est-à-dire que les
instructions du programme principal s’enchaînaient les unes derrière les autres (avec
bien sûr de possibles appels à des fonctions). Avec une GUI, l’exécution est décidée par
l’utilisateur en fonction de ses interactions avec les différents widgets. Comme c’est
l’utilisateur qui décide quand et où il clique dans l’interface, il va falloir mettre en place ce
qu’on appelle un « gestionnaire d’événements ».
Le gestionnaire d’événements est une sorte de « boucle infinie » qui est à l’affût de la
moindre action de la part de l’utilisateur. C’est lui qui effectuera une action lors de
l’interaction de l’utilisateur avec chaque widget de la GUI. Ainsi, l’exécution du
programme sera réellement guidée par les actions de l’utilisateur.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
35
II.2. Développement pratique d’une application desktop avec la bibliothèque
Tkinter
III.2.1. Importation des bibliothèques
1. Importation des bibliothèques du module Tkinter et le code pour créer une
interface (fenêtre) et sa configuration
Pour importer une bibliothèque ou un module, on utilise l’instruction « from
nom_module ou nom_bibliotheque import élément_ à_importer »
Voici l’exemple ci-dessous :
Voici le résultat visuel de ces codes
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
36
2. Les codes pour ajouter d’un grand titre à l’interface
Voici le résultat de ces codes saisis
3. Le widget Label et widget Entry
- Le widget Label : permet de créer les objets texte sur le formulaire et
- Le widget Entry : permet de créer les objets de zone saisie au clavier (input)
sur le même formulaire
Voici Les codes pour ajouter les textes et les zones de saisie sur le formulaire
Pour ajourer un texte, on utilise le widget Label et le widget entry pour la
création de la zone de saisie.
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
37
Voici le résultat de ce code ci-haut écrit
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
38
4. Le widget Button
- Le widgetButton : permet de créer les objets bouton cliquable sur son
formulaire
Voici Les codes pour ajouter les différents sur le formulaire
Voici le résultat avec ce code saisie apres avoir ajouté les codes pour le bouton enregistrer
et modifier
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
39
5. Le widget canvas
Le widget canvas de Tkinter est très puissant. Il permet de dessiner des formes
diverses (lignes, cercles, etc.), et même de les animer.
La classe tk.Canvas crée un widget canvas (ou encore canevas en français).
Cela va créer une zone (i.e. le canevas en tant que tel) dans laquelle nous allons dessiner
divers objets tels que des ellipses, lignes, polygones, etc., ou encore insérer du texte ou
des images. Regardons tout d’abord un code minimal qui construit un widget canvas, dans
lequel on y dessine un cercle et deux lignes :
On voit qu’il faut d’abord créer le widget canvas, comme d’habitude en lui
passant l’instance de la fenêtre principale en tant qu’argument positionnel, puis les
options. Notons que nous lui passons comme options la hauteur et la largeur du canvas.
Même s’il s’agit d’arguments par mot-clé, donc optionnels, c’est une bonne pratique de les
préciser. En effet, les valeurs par défaut risqueraient de nous mener à dessiner hors de la
zone visible (cela ne génère pas d’erreur mais n’a guère d’intérêt).
Voici le résultat avec l’intégration de widget Canvas
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella
40
Mr. Ir. ASS. MAKI BAHATI Bienvenu Bella