Hier ist eine klassische Methode zur Klassifizierung von Tkinter, einem Python-GUI-Tool.
Dies ist ein Einführungsartikel zum Erstellen eines Bildbetrachters mit dieser Vorlage. (Zusatz) Image Viewer mit Tkinter erstellen
import tkinter as tk
from tkinter import ttk
class Application(tk.Frame):
def __init__(self,master):
super().__init__(master)
self.pack()
self.master.geometry("300x300")
self.master.title("Tkinter with Class Template")
self.create_widgets()
def create_widgets(self):
pass
def callBack(self):
pass
def main():
root = tk.Tk()
app = Application(master=root)#Inherit
app.mainloop()
if __name__ == "__main__":
main()
Erstellen Sie eine GUI, die die folgenden Vorgänge ausführt, wenn die Taste gedrückt wird.
import tkinter as tk
from tkinter import ttk
#Generate root instance
root = tk.Tk()
root.geometry("300x300")
root.title("Tkinter without Class")
#Define Button Click Event Function
def say_Hello():
print("Hello World") # on python console
label_hello.configure(text="I Have benn Clicked!")
print(name.get())
label_name.configure(text = name.get())
#Define Button Widget
button_hello = ttk.Button(master=root)
button_hello.configure(text="Hello World")
button_hello.configure(command = say_Hello)
button_hello.pack()
#Define Label Widget
label_hello = ttk.Label(master=root)
label_hello.configure(text = 'A Label')
label_hello.pack()
#Define Enntry Widget
name= tk.StringVar()
entry_name = ttk.Entry(master=root)
entry_name.configure(textvariable = name)
entry_name.pack()
#Define Label Widget2
label_name = ttk.Label(master=root)
label_name.configure(text = 'Please input something in Entry')
label_name.pack()
# Start GUI
root.mainloop()
Hier werden wir den prozeduralen Programmiercode im vorherigen Kapitel in eine Klassifizierungsvorlage ändern. Sei vorsichtig mit dir.
import tkinter as tk
from tkinter import ttk
class Application(tk.Frame):
def __init__(self,master):
super().__init__(master)
self.pack()
self.master.geometry("300x300")
self.master.title("Tkinter with Class")
self.create_widgets()
# Create Widgets function
def create_widgets(self):
#Button
self.button_hello = ttk.Button(self)
self.button_hello.configure(text="Hello World")
self.button_hello.configure(command = self.say_Hello) #do not forget to add self!
self.button_hello.pack()
#Label
self.label_hello = ttk.Label(self)
self.label_hello.configure(text='A Label')
self.label_hello.pack()
#Entry
self.name = tk.StringVar()
self.entry_name = ttk.Entry(self)
self.entry_name.configure(textvariable = self.name)
self.entry_name.pack()
#Label2
self.label_name=ttk.Label(self)
self.label_name.configure(text = 'Please input something in Entry')
self.label_name.pack()
# Event Callback Function
def say_Hello(self):
print("Hello, World") # on python console
self.label_hello.configure(text="I Have benn Clicked!")
print(self.name.get())
self.label_name.configure(text=self.name.get())
def main():
root = tk.Tk()
app = Application(master=root)#Klassenvererbung erben!
app.mainloop()
if __name__ == "__main__":
main()
Ich fand heraus, dass die Verwendung von Klassen den Python-Code strukturierter und leichter lesbar machte. Damit werden wir weiter expandieren. Ich hatte das Gefühl, endlich die Welt von Python sehen zu können.
Recommended Posts