[PYTHON] Erstellen Sie mit Py2app und Tkinter eine native GUI-App

Einführung

Ich dachte, ich hätte noch nie eine GUI-App mit Python erstellt, also habe ich es versucht. Außerdem ist es nicht interessant, nur das GUI-Skript zu schreiben, daher habe ich versucht, das Skript im nativen Mac-Anwendungsformat auszugeben und auszuführen.

Was zu verwenden

Code

Ich habe den Code aus der [offiziellen Dokumentation] von tkinter (https://docs.python.org/2/library/tkinter.html) fast so gebracht, wie er ist.

Der geänderte Teil war, dass die say_hi -Methode eine Nachricht mit der print-Anweisung ausgibt, also habe ich versucht, dort ein Meldungsfeld anzuzeigen.

Unterwegs wurde mir gesagt, dass die tkMessageBox-Klasse nicht gefunden werden konnte, obwohl ich alle Module von Tkinter importiert hatte, und ich hatte ein kleines Problem. (Ich dachte nicht, dass die tkMessageBox-Klasse eine Top-Level-Klasse ist ...)

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

Wenn es ausgeführt wird, sieht es so aus.

main window

Klicken Sie auf Hallo.

info message

Ja, das Meldungsfeld ist sicher herausgekommen. Infolgedessen bin ich ein wenig traurig, aber ich werde so weitermachen, wie es ist.

Mit Py2app umwickeln

Zuerst fügen wir Py2app mit pip ein.

$ pip install py2app

Wenn Sie dem Tutorial folgen, benötigen Sie anscheinend zuerst setup.py. Es scheint einen praktischen Befehl namens "py2applet" zu geben. Verwenden Sie ihn also, um setup.py zu erstellen.

$ py2applet --make-setup tk.py

Führen Sie dann setup.py aus, um eine App zu erstellen.

$ python setup.py py2app

** 2017/02/09 Behoben ** Aus dem obigen Befehl entfernt, da er mit dem Parameter -A nicht aus anderen Umgebungen ausgeführt werden kann.

Wenn Sie fertig sind, werden die Dateien wie unten gezeigt im Verzeichnis dist abgelegt.

dist

Doppelklicken Sie auf die Datei und sie wurde erfolgreich ausgeführt! Es ist ziemlich einfach. Ich fand, dass das Schreiben von GUI-Apps in Python eine relativ geringe Hürde darstellt, daher möchte ich verschiedene Dinge ausprobieren.

Referenz

Recommended Posts

Erstellen Sie mit Py2app und Tkinter eine native GUI-App
Erstellen Sie eine GUI-App mit Tkinter of Python
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Erstellen Sie eine mit tkinter erstellte ausführbare GUI-Datei
Erstellen Sie mit tkinter eine Python-GUI
Einfache GUI App mit Tkinter Text
Erstellen Sie eine einfache GUI-App in Python
Erstellen Sie eine einfache Web-App mit Flasche
Todo-App mit Django erstellen ④ Ordner- und Aufgabenerstellungsfunktion implementieren
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
Sie können auch mit Python problemlos eine GUI erstellen
Erstellen Sie eine Matrix mit PythonGUI (tkinter-Kombinationsfeld)
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
Versuchen Sie, mit Tkinter in Python dynamisch einen Checkbutton zu erstellen
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Todo-App mit Django erstellen ③ Aufgabenlistenseite erstellen
Erstellen Sie einen Stapel von Bildern und blasen Sie sie mit ImageDataGenerator auf
Erstellen Sie mit PyQt5 und PyQtGraph einen 3D-Modell-Viewer
[Python] Erstellen Sie mit cx_Freeze eine Verteilungsdatei für das Tkinter-Programm
Todo-App mit Django erstellen ⑤ Funktion zum Bearbeiten von Aufgaben erstellen
[Linux] Erstellen Sie ein Selbstzertifikat mit Docker und Apache
Programmieren mit Python und Tkinter
Arbeiten Sie mit tkinter und Maus
Erstellen Sie eine Homepage mit Django
Erstellen Sie den Image Viewer mit Tkinter
Erstellen Sie ein Verzeichnis mit Python
[Python] Erstellen Sie mit tkinter einen Bildschirm zur Datei- und Ordnerpfadspezifikation
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Erstellen Sie eine App für maschinelles Lernen mit ABEJA Platform + LINE Bot
Erstellen Sie ein Lebensspiel, das manuell mit tkinter aktualisiert wird
Erstellen Sie Anwendungen, registrieren Sie Daten und teilen Sie sie mit einer einzigen E-Mail
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
[Lernrekord] Erstelle mit Pyhtons Tkinter ein mysteriöses Dungeon-Spiel
So einfach wie möglich eine GUI mit Python erstellen [tkinter edition]
Erstellen Sie ein Bereitstellungsskript mit Stoff und Küche und verwenden Sie es erneut
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Schritte zum Einrichten von Pipenv, Erstellen einer CRUD-App mit Flask und Containerisieren mit Docker
Lassen Sie uns mit Pylearn2 eine Drei-Wege-KI erstellen - Modell speichern und laden -
Lassen Sie uns eine GUI mit Python erstellen.
Erstellen Sie eine temporäre Datei mit Django als Zip und geben Sie sie zurück
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Schichterstellungsseite)
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen und Bereitstellen von Django-Apps (PTVS) mithilfe des Azure Table-Speichers
[GUI in Python] PyQt5-Drag & Drop-
Async / warte mit Kivy und tkinter
Erstellen Sie mit BigQuery ein privates DMP ohne Anfangskosten und ohne Entwicklung
Erstellen Sie mit Python + Django + AWS eine Scraping-App und wechseln Sie Jobs
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Erstellen Sie einen Poisson-Stepper mit numpy.random
Zeichnen Sie ein Diagramm mit der PySimple-Benutzeroberfläche
Erstellen Sie mit Django einen Datei-Uploader
Erstellen Sie eine CP932-CSV-Datei für Excel mit Chalice und geben Sie sie zurück
[AWS] Erstellen Sie mit CodeStar eine Python Lambda-Umgebung und führen Sie Hello World aus