Premiers pas avec les interfaces utilisateur graphiques en Python

Table des matières

Dans ce tutoriel, nous allons mettre Exemples d'implémentation d'applications GUI en Python, il existe de nombreux modules pour travailler avec une interface graphique, ici nous avons choisi Tkinter, car il est pré-installé avec Python et cela nous aidera à voir comment nous travaillons de cette manière, bien qu'à la fin nous verrons un petit exemple de PyQt.

On peut vérifier si Tkinter le module est correctement installé en utilisant :

 python -m tkinter
NoterDans Python 2, ce serait le premier t majuscule : Tkinter, car dans Python 3, il a été renommé.

S'il est correctement installé, nous verrons qu'une fenêtre comme celle ci-dessous s'affiche :

Si nous ne voyons pas d'erreur, cela indiquera qu'il ne peut pas trouver ce module :

Pour installer le module en Python 3 dans les distributions Debian :

 sudo apt-get installer python3-tk
Pour les autres versions, voir le lien suivant. Le didacticiel vise à donner une première impression de l'utilisation de l'interface graphique en Python. Si vous êtes nouveau sur ce sujet, cela vous aidera. Si vous recherchez des sujets avancés, ce n'est pas le bon didacticiel.

NoterIci, nous allons travailler avec Python 3, nous importons la bibliothèque comme suit :

 importer tkinter
Cependant dans Python 2 vous devez l'importer comme suit, nous avons déjà parlé de son renommage :
 importer Tkinter

Nous allons commencer le tutoriel exemple par exemple, nous allons commencer par le plus simple et le compliquer à la fin.

Exemple 1
Nous allons créer une fenêtre simple pour cela nous écrivons le code suivant :

 importer tkinter window = tkinter.Tk () window = tkinter.mainloop ()
Avec la première ligne nous importons le module nécessaire, la suivante crée la fenêtre principale et si nous supprimons la dernière instruction la fenêtre ne sera pas vue lorsque nous exécuterons le code. La sortie de l'exemple :

Cet exemple a été très long, 3 lignes… Passons au suivant.

Exemple 2
Dans cet exemple, qui n'est pas beaucoup plus long que le précédent, nous allons créer la fenêtre comme nous l'avons fait dans l'exemple 1, mais nous allons la configurer un peu, nous allons changer la couleur, la taille et le titre.

 importer tkinter en tant que tk window = tk.Tk () window.config (bg = "blue") window.geometry ("400x300") window.title ("Example2") window.mainloop ()
La première ligne importe toujours le module tkinter, mais nous lui donnons un alias pour pouvoir utiliser un mot plus court dans le code. Nous allons créer la fenêtre comme dans l'exemple précédent. Et les 3 lignes suivantes configureront la couleur, la taille et le titre dans l'ordre. La dernière ligne que nous connaissons déjà. Le résultat de l'exemple est le suivant :

Jusqu'à présent, tout a été très facile, continuons avec d'autres exemples.

Exemple 3
Maintenant, nous allons créer un bouton à l'intérieur de la fenêtre principale, ce qui ne nous compliquera pas beaucoup non plus, voyons le code :

 importer tkinter en tant que tk window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Testing") button.grid (row = 1, column = 1) window.mainloop ()
Les seules lignes qui nécessitent une explication sont :
 button = tk.Button (fenêtre, texte = "Testing") button.grid (ligne = 1, colonne = 1)
Le premier crée un bouton avec le nom Testing (bouton), et nous l'attribuons à la fenêtre, qui est la variable de notre fenêtre principale. La seconde place le bouton dans la ligne et la colonne 1. L'exécution nous montrera ce qui suit :

Le bouton est simplement affiché, il ne fonctionne pas, puisqu'il ne sert pas d'événements, nous allons le faire dans l'exemple suivant.

Exemple 4
Maintenant nous allons assister à un événement pour ouvrir une seconde fenêtre, qui ne sera pas la principale, voyons le code :

 importer tkinter en tant que tk def open (): window2 = tk.Toplevel (window) window = tk.Tk () window.geometry ("200x150") bouton = tk.Button (window, text = "Open", command = open) button.grid (ligne = 1, colonne = 1) window.mainloop () 
Nous allons voir les nouvelles lignes, la fonction open aura l'instruction suivante, qui va créer une fenêtre « enfant » de la principale.
 window2 = tk.Toplevel (fenêtre)
Et le bouton a un peu changé, remarquez commander, est d'exécuter une fonction, dans ce cas d'appeler la fonction ouvert:
 button = tk.Button (fenêtre, texte = "Ouvrir", commande = ouvrir)
Passons à un exemple avec une classe.

Exemple 5
C'est le dernier exemple de tkinter, et ce sera le plus long, nous allons créer une classe pour faire quelque chose de différent. Ce que nous allons faire est une petite fenêtre, qui ne peut pas être redimensionnée, elle aura une étiquette de texte et un bouton, chaque fois que nous appuierons sur le bouton, le nombre augmentera. Passons au code :

 importer tkinter en tant que classe tk Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Exemple 5") self . window.resizable (width = False, height = False) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = " Augmenter ", command = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text =" 0 ", fg =" blue ") self.tag .pack (pady = 10) def augmenter (self): self.tag ["texte"] = self.counter self.counter + = 1 app = Application () 
En fonction __init__ nous allons créer la fenêtre et la configurer, en plus d'appeler les fonctions bouton créer Oui createLabel pour nous de croire ces éléments. Si nous avons vu les exemples précédents, celui-ci ne devrait pas générer de complications ou de doutes. Au démarrage du programme, nous avons la fenêtre avec le numéro à 0 :

Si nous cliquons sur le bouton le nombre augmente, par exemple après avoir cliqué 25 fois, nous avons ce qui suit :

Dans ce tutoriel, nous avons vu les bases du module tkinter, vous pourrez créer beaucoup plus de choses, si vous êtes intéressé à approfondir ici, vous avez le lien vers la page officielle Python où ils parlent de tkinter.

Vous avez d'autres bibliothèques en Python avec lesquelles vous pouvez programmer des interfaces graphiques comme dit au début, certaines d'entre elles sont :

  • PyGTK
  • wxPython
  • PyQT

Pour que vous puissiez comparer un peu tkinter avec un autre module, nous allons donner un exemple de PyQt.

Exemple avec PyQT
Pour lancer cet exemple vous devrez installer la bibliothèque, vous pouvez visiter le lien que nous avons mis ci-dessus. Nous allons créer une fenêtre d'une taille de 275x200 et avec le titre Exemple PyQt4. Il apparaîtra également en position 300x300

 import sys de PyQt4 import QtGui application = QtGui.QApplication (sys.argv) window = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('exemple PyQt4') fenêtre. show () sys.exit (application.exec_ ()) 
Si nous exécutons le code, nous obtenons la sortie suivante :

Rien de compliqué, comme cela a été observé tout au long du tutoriel, nous pourrions continuer à mettre des exemples, car il y a beaucoup de choses à aborder, mais avec une introduction, cela vous prépare déjà à vous entraîner à créer vos propres exemples, en ajoutant d'autres éléments, tels que des listes, boîtes de texte où écrire, etc.

Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave