In tkinter habe ich einen Bildschirm zum Festlegen von Anhängen und Ordnern erstellt. Es ist nützlich, Dateien und Ordner über die GUI angeben zu können, wenn Sie verschiedene Tools erstellen.
tkinter ist ein Standardmodul, das standardmäßig bei der Installation von Python enthalten ist. Sie können einen GUI-Bildschirm mit sehr einfachem Code erstellen. Dies ist ein praktisches Modul zum persönlichen Erstellen von GUI-Tools.
Die folgenden Websites sind für die grundlegende Verwendung leicht zu verstehen. GUI-Programmierung mit Tkinter
Die Funktion zum Verweisen auf eine Datei oder einen Ordner mit tkinter kann mithilfe des Dateidialogs implementiert werden. Der Code wird wie folgt aufgerufen.
from tkinter import filedialog
Dieses Mal habe ich zwei Funktionen implementiert, indem ich den folgenden von Filedialog verwendet habe. 1、askdirectory Es ist eine Funktion, um ein Verzeichnis anzugeben. Diese Funktion öffnet den Bildschirm des folgenden Bildes und Sie können den Ordnerpfad angeben. 2、askopenfilename Es ist eine Funktion, um die Folie anzugeben. Diese Funktion öffnet den Bildschirm des folgenden Bildes und Sie können den Dateipfad angeben.
Dieses Mal habe ich den folgenden GUI-Bildschirm erstellt. Wenn Sie den Ordner- und Dateipfad angeben und auf die Schaltfläche Ausführen klicken, wird der von der Messagebox-Funktion angegebene Pfad zurückgegeben. ** Bild auf dem oberen Bildschirm ** ** Ausführungsergebnis (Meldungsfeld) ** Der Code ist unten.
tkinter_sample.py
import os,sys
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from tkinter import filedialog
#Ordnerspezifikationsfunktion
def dirdialog_clicked():
iDir = os.path.abspath(os.path.dirname(__file__))
iDirPath = filedialog.askdirectory(initialdir = iDir)
entry1.set(iDirPath)
#Dateispezifische Funktion
def filedialog_clicked():
fTyp = [("", "*")]
iFile = os.path.abspath(os.path.dirname(__file__))
iFilePath = filedialog.askopenfilename(filetype = fTyp, initialdir = iFile)
entry2.set(iFilePath)
#Ausführungsfunktion, wenn die Ausführungstaste gedrückt wird
def conductMain():
text = ""
dirPath = entry1.get()
filePath = entry2.get()
if dirPath:
text += "Ordnerpfad:" + dirPath + "\n"
if filePath:
text += "Dateipfad:" + filePath
if text:
messagebox.showinfo("info", text)
else:
messagebox.showerror("error", "Es ist kein Pfad angegeben.")
if __name__ == "__main__":
#Erstellen Sie root
root = Tk()
root.title("Stichprobe")
#Frame1 erstellen
frame1 = ttk.Frame(root, padding=10)
frame1.grid(row=0, column=1, sticky=E)
#Erstellen eines "Ordnerreferenz" -Labels
IDirLabel = ttk.Label(frame1, text="Siehe Ordner >>", padding=(5, 2))
IDirLabel.pack(side=LEFT)
#Erstellen eines Eintrags "Nach Ordner suchen"
entry1 = StringVar()
IDirEntry = ttk.Entry(frame1, textvariable=entry1, width=30)
IDirEntry.pack(side=LEFT)
#Erstellen Sie die Schaltfläche "Ordner durchsuchen"
IDirButton = ttk.Button(frame1, text="Referenz", command=dirdialog_clicked)
IDirButton.pack(side=LEFT)
#Frame2 erstellen
frame2 = ttk.Frame(root, padding=10)
frame2.grid(row=2, column=1, sticky=E)
#Erstellen eines "Dateireferenz" -Labels
IFileLabel = ttk.Label(frame2, text="Dateireferenz >>", padding=(5, 2))
IFileLabel.pack(side=LEFT)
#Erstellen eines "Dateireferenz" -Eintrags
entry2 = StringVar()
IFileEntry = ttk.Entry(frame2, textvariable=entry2, width=30)
IFileEntry.pack(side=LEFT)
#Erstellen Sie die Schaltfläche "Datei durchsuchen"
IFileButton = ttk.Button(frame2, text="Referenz", command=filedialog_clicked)
IFileButton.pack(side=LEFT)
#Frame3 erstellen
frame3 = ttk.Frame(root, padding=10)
frame3.grid(row=5,column=1,sticky=W)
#Installation der Execute-Taste
button1 = ttk.Button(frame3, text="Lauf", command=conductMain)
button1.pack(fill = "x", padx=30, side = "left")
#Installation der Abbrechen-Taste
button2 = ttk.Button(frame3, text=("schließen"), command=quit)
button2.pack(fill = "x", padx=30, side = "left")
root.mainloop()
Wir haben die Funktion zur Angabe des Ordners und des Dateipfads durch die Dateidialogfunktion von tkinter eingeführt. Wenn Sie ein Verarbeitungsmodul mit diesem Modul verbinden, können Sie jeden Ordner oder jede Datei verarbeiten.
Recommended Posts