
Python est facile à utiliser. Vous y trouverez un grand nombre de bibliothèques pour tout. Et c'est son principal avantage. Vous ne ferez rien à partir de quelques lignes de code. Si vous avez besoin de scripts pour un usage personnel ou pour un public averti en technologie, vous n'avez même pas besoin de penser à une interface graphique.
Cependant, parfois, votre public cible n'est pas très avisé sur le plan technique. Les gens n'hésitent pas à utiliser vos scripts Python jusqu'à ce qu'ils aient besoin de regarder une ligne de code. Dans ce cas, les scripts de ligne de commande ne seront pas suffisants. Idéalement, vous avez besoin d'une interface graphique. Le but de cet article est d'utiliser uniquement Python.
Bibliothèques Python que vous pouvez utiliser pour une interface graphique
Essentiellement, il existe 3 grandes bibliothèques Python pour l'interface graphique; Tkinter, wxPython et PyQT. En les regardant, je n'y ai rien trouvé que j'aime sur Python. Les bibliothèques Python ont tendance à très bien s'abstenir des problèmes super-techniques. Si j'avais besoin de travailler avec une programmation orientée objet, je pourrais tout aussi bien télécharger Java ou .Net.

Cet article a été traduit avec le soutien du logiciel EDISON, qui s'occupe de la santé des programmeurs et de leur petit - déjeuner , et développe également des logiciels personnalisés .
Cependant, heureusement, je suis tombé sur la quatrième option, qui m'a plu. C'est PySimpleGUI, je l'utilise toujours. Curieusement, cette bibliothèque utilise les 3 bibliothèques populaires, qui ont été discutées ci-dessus, mais en même temps des résumés de points super techniques
Plongeons dans cette bibliothèque et étudions-la tout en résolvant un vrai problème.
Vérifier deux fichiers identiques
J'ai expliqué comment procéder dans mon article «3 façons rapides de comparer des données en Python». Nous pouvons utiliser la première section, la vérification de l'intégrité des données, pour essayer de créer une interface utilisateur.
En fait, nous devons télécharger deux fichiers et sélectionner le cryptage que nous aimerions utiliser pour comparer les fichiers.
Programmer l'interface graphique
Pour créer une interface graphique, vous pouvez utiliser ce code:
import PySimpleGUI as sg layout = [ [sg.Text('File 1'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('MD5'), sg.Checkbox('SHA1') ], [sg.Text('File 2'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('SHA256') ], [sg.Output(size=(88, 20))], [sg.Submit(), sg.Cancel()] ] window = sg.Window('File Compare', layout) while True:
en conséquence, nous obtenons:

Nous connectons la logique
Lorsqu'il existe une interface utilisateur, il est facile de comprendre comment connecter le reste du code. Nous devons simplement garder une trace de ce que l'utilisateur entre et agir en conséquence. Nous pouvons très facilement le faire avec le code suivant:
import PySimpleGUI as sg import re import hashlib def hash(fname, algo): if algo == 'MD5': hash = hashlib.md5() elif algo == 'SHA1': hash = hashlib.sha1() elif algo == 'SHA256': hash = hashlib.sha256() with open(fname) as handle:
Il nous donnera ce résultat:

Réflexions finales
Ce n'est peut-être pas la plus belle interface utilisateur, mais PySimpleGUI vous permet de déployer rapidement des interfaces utilisateur Python simples et de les partager avec n'importe qui. Le code dont vous avez besoin est simple et facile à lire. Vous aurez toujours un problème lors de l'exécution du code pour obtenir l'interface utilisateur. Pour cette raison, il peut être difficile de partager du code. Je vous conseille de télécharger quelque chose comme PyInstaller, qui transformera votre script python en un fichier .exe. Les gens pourront le lancer simplement en cliquant deux fois dessus.

Lisez aussi le blog
Société EDISON:
20 bibliothèques pour
application iOS spectaculaire