Les fenêtres

.

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.

_images/coordonnees.PNG

.

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 :

_images/image71.png

_images/image72.png


.

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  :

_images/image73.png
_images/image00074.png

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()

.

Exemple 0702 : Dimension d’une fenêtre  :

_images/image750.png
_images/image760.PNG

.

module fenetre  :

_images/place010.PNG
_images/blanc.png