Je pensais que je n'avais jamais créé d'application graphique avec Python, alors je l'ai essayé. De plus, il n'est pas intéressant d'écrire uniquement le script GUI, j'ai donc essayé de sortir et d'exécuter le script au format d'application natif Mac.
J'ai apporté le code des [Documents officiels] de tkinter (https://docs.python.org/2/library/tkinter.html) presque tel quel.
La partie modifiée est que la méthode say_hi
génère un message avec l'instruction print
, alors j'ai essayé d'afficher une boîte de message là-bas.
En chemin, même si j'ai importé tous les modules Tkinter, on m'a dit que la classe tkMessageBox était introuvable et j'ai eu un petit problème. (Je ne pensais pas que la classe tkMessageBox était une classe de premier niveau ...)
tk.py
from Tkinter import *
import tkMessageBox
class Application(Frame):
def say_hi(self):
tkMessageBox.showinfo('info', 'hi there, everyone!')
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
Une fois exécuté, cela ressemble à ceci.
Cliquez sur Bonjour.
Oui, la boîte de message est sortie en toute sécurité. Du coup, je suis un peu triste, mais je vais continuer comme ça.
Tout d'abord, insérons Py2app avec pip.
$ pip install py2app
Si vous suivez le tutoriel, il semble que vous ayez d'abord besoin de setup.py. Il semble y avoir une commande pratique appelée py2applet
, alors utilisez-la pour créer setup.py.
$ py2applet --make-setup tk.py
Ensuite, exécutez setup.py pour créer une application.
$ python setup.py py2app
** 2017/02/09 Corrigé ** Supprimé de la commande ci-dessus car elle ne peut pas être exécutée à partir d'autres environnements avec le paramètre -A.
Une fois terminé, les fichiers seront placés sous le répertoire dist comme indiqué ci-dessous.
Double-cliquez sur le fichier et il s'est exécuté avec succès! C'est assez simple. J'ai trouvé que l'écriture d'applications GUI en Python est un obstacle assez faible, alors j'aimerais essayer diverses choses.