Les fenêtres
- Interface
- Dimensions
- Couleurs
- Utilisation du module tkinter
- Ouvrir une fenêtre
- Obtenir la taille et la position de la fenêtre
- module fenêtre
.
INTERFACE :
Le domaine des interfaces graphiques ou GUI (Graphical User Interfaces) est extrêmement complexe. Chaque système d’exploitation peut proposer plusieurs bibliothèques de fonctions graphiques de base.
Avec Python, la bibliothèque la plus utilisée est la bibliothèque tkinter.
from tkinter import*
.
DIMENSIONS
Les différentes dimensions comme la largeur (width), la hauteur (height), etc. peuvent être précisées dans différentes unités.
Si vous indiquez une dimension par un entier, elle est supposée être en pixels.
Vous pouvez préciser une unité en utilisant une chaîne de caractères qui contient un nombre suivi d’une unité :
c : Centimètres i : Pousses (Inches) m : Millimètres. p : Points d’impression
Le système de coordonnées
Comme dans la plupart des systèmes d’affichage, l’origine de chaque système de coordonnées est située à son coin supérieur gauche, les valeurs de x augmentant vers la droite et les valeurs de y augmentant vers le bas.
L’unité de base est le pixel avec le coin supérieur gauche de coordonnées (0,0). Les coordonnées indiquées par un entier sont toujours exprimées en pixels, mais chaque coordonnée peut être indiquée via une chaîne de caractères dans une unité particulière.
Les coordonnées sont toujours positives.
.
COULEURS :
Les couleurs :
On peut définir les couleurs de plusieurs façons :
- Une chaîne de caractère :
#rgb, ( #fff couleur blanc) , #rrggbb (ex : #000000 couleur noir) ,#rrrgggbbb
- Un nom standard : (ex : « blue » couleur bleue)
Liste des couleurs :
.
Utilisation du module tkinter :
.
Charger le module :
Pour utiliser le module tkinter, il faut d’abord choisir un mode d’importation :
from tkinter import # charge le module tkinter.
Par souci de clarté, le module tkinter sera toujours explicite dans cette page;
Les variables seront en français et en minuscules.
En python3, le module est rebaptisé tkinter. Il faudra alors choisir un de ces chargements de module:
import tkinter
import tkinter as tkinter #pour la compatibilité avec cette page
import tkinter as tk # pour un préfixage tk
from tkinter import # pour éviter tout préfixage
.
Ouvrir une fenêtre :
Remarques :
Commande | Effet |
---|---|
fenetre=Tk()
|
Permet de désigner un premier objet (une fenêtre) duquel les autres dépendront. Le nom (arbitrairement choisi) est déterminé par fenetre |
fenetre.title ("NSI ")
|
Affiche le titre (chaîne de caractères) dans la fenêtre. |
fenetre.iconbitmap("logo-isn.ico")
|
Affiche un logo stocké dans un fichier image avec l’extension « .ico » (dans le même dossier que le fichier python qui utilise l’icône). |
fenetre.geometry("500x150")
|
Précise une taille fixe de fenêtre. Dans le cas contraire, les dimensions de la fenêtre s’adaptent à son contenu. |
fenetre.mainloop()
|
Lancera le gestionnaire d’événements. L’essentiel du script (sauf fonctions ou classes) doit se situer entre es deux, cela peut être considéré comme une boucle. |
.
Méthodes fenêtres
Méthode | Effet |
---|---|
fenetre.geometry(“500x150”)
|
Redimensionne la fenêtre en 500 pixels de large et 200 pixels de haut. |
fenetre.title( “ titre ”)
|
Affiche le titre dans la fenêtre |
fenetre.winfo_width()
|
Renvoie la largeur de la fenêtre. |
fenetre.winfo_height()
|
Renvoie la hauteur de la fenêtre. |
fenetre.configure(bg=”red”)
|
Le fond de la fenêtre devient rouge. |
fenetre.winfo_screenwidth()
|
Largeur de l’écran en pixels. |
fenetre.winfo_screenheight()
|
Hauteur de l’écran en pixels. |
fenetre.resizable(width=False,height=False) # Empêche le redimensionnement de la fenêtre.
.
Obtenir la taille de la fenêtre.
fenetre géometrie
On utilise la méthode de fenêtre
largeur=fenetre.winfo_width()
hauteur=fenetre.winfo_height()