Website-Suche

Python Tkinter Beispiele


Python ist eine vielseitige Programmiersprache, die zur Implementierung verschiedener Arten von Anwendungen verwendet werden kann. Sie verfügt über viele Arten von Modulen, um Anwendungen mit einer GUI (Graphical User Interface) zu erstellen. Python tkinter ist eines davon. Jede Desktop-Anwendung kann einfach mit dem tkinter-Modul implementiert werden. Es ist besser, wenn Sie Grundkenntnisse in der Python-Programmierung haben, um die Anwendungen des Python tkinter-Moduls zu lernen. Verschiedene Anwendungen des Python tkinter-Moduls zur Erstellung von GUI-Anwendungen werden in diesem Tutorial gezeigt.

Installiere das Tkinter-Modul

Das tkinter-Modul ist standardmäßig nicht in Python installiert. Daher müssen Sie den folgenden Befehl ausführen, um das tkinter-Modul in der Python 3+-Version zu installieren:

sudo apt install python3-tk

Verschiedene Tkinter-Widgets

Das tkinter-Modul enthält verschiedene Widgets für verschiedene Zwecke.

Widget NameZweck
EtikettEs wird verwendet, um die Hilf Nachricht für den Benutzer anzuzeigen.
TasteEs wird verwendet, um verschiedene Schaltflächen in der Anwendung hinzuzufügen.
RahmenEs funktioniert wie ein Widget-Container, der verschiedene Arten von Widgets enthält, um ein organisiertes Formular zu gestalten.
EintragEs wird verwendet, um einen einzeiligen Text vom Benutzer einzugeben.
KontrollkästchenEs wird verwendet, um die Kontrollkästchen-Schaltflächen hinzuzufügen, damit der Benutzer mehrere Eingaben aus mehreren Optionen vornehmen kann.
OptionschalterEs wird verwendet, um die Optionsfelder hinzuzufügen, um vom Benutzer eine einzige Eingabe aus mehreren Optionen zu erhalten.
Kombinationsfeld-TasteEs wird verwendet, um eine Dropdown-Liste hinzuzufügen, um eine einzelne Eingabe von mehreren Optionen vom Benutzer zu erhalten.
ListBoxEs wird verwendet, um eine Liste hinzuzufügen, aus der der Benutzer mehrere Eingaben aus mehreren Optionen auswählen kann.
TextEs wird verwendet, um einen mehrzeiligen Text vom Benutzer einzugeben.
NachrichtEs wird verwendet, um das Nachrichtenfenster für den Benutzer anzuzeigen.
ScrollleisteEs wird verwendet, um einen Bildlaufbalken im Fenster hinzuzufügen, um das Fenster nach oben und unten zu scrollen.
MenüknopfEs wird verwendet, um das Menü dem Benutzer anzuzeigen.
MenüEs wird verwendet, um die Menüelemente dem Benutzer anzuzeigen.
PanedWindowEs funktioniert wie ein Widget-Container, der die horizontalen und vertikalen Bereiche enthält.
TabsEs wird verwendet, um ein Tab-Fenster in der Anwendung hinzuzufügen.

Verschiedene Tkinter-Beispiele

Die Anwendungen einiger gängiger tkinter-Widgets werden in den folgenden Beispielen gezeigt.

Beispiel 1: Erstellen Sie eine einfache GUI-Anwendung

Erstellen Sie eine Python-Datei mit dem folgenden Inhalt, die ein Dialogfeld in der Mitte des Bildschirms mit einem Titel sowie einer bestimmten Höhe und Breite anzeigt:

#Import necessary Module
from tkinter import *

#Create object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('300x150')

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Ausgabe:

Die folgende Ausgabe erscheint nach der Ausführung des Skripts. Ein Dialogfeld mit dem Titel “tkinter-Modul lernen” wird angezeigt:

Beispiel 2: Verwendung von Label und Schaltfläche

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das ein Fenster mit einem Label und einem Dialogfeld anzeigt:

#Import necessary Module
from tkinter import *

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('400x150')

#Define label object
lbl = Label(tkobj, text="It is a simple window")
#Add label to the window
lbl.pack(ipadx=30, ipady=20)

#Define button object
btn = Button(tkobj, text="Click me")
#Add button to the window with the position
btn.pack(ipadx=30, ipady=10)

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Ausgabe:

Ein Fenster mit einem Label und einem Button erscheint nach der Ausführung des Skripts in der Mitte des Bildschirms.

Beispiel 3: Setzen Sie die Schriftfarbe und die Hintergrundfarbe

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das ein Fenster mit einem Label und einem bunten Button anzeigt. Hier wird das Attribut Hintergrund verwendet, um die Hintergrundfarbe des Buttons festzulegen, und das Attribut Vordergrund wird verwendet, um die Schriftfarbe des Buttons einzustellen:

#Import necessary Module
from tkinter import *

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('400x150')

#Define label object
lbl = Label(tkobj, text="Set background and foreground color")
#Add label to the window
lbl.pack(ipadx=30, ipady=20)

#Define button object with background and foreground color
btn = Button(tkobj, text="Click me", background="blue", foreground="red")
#Add button to the window with the position
btn.pack(ipadx=30, ipady=8)

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Ausgabe:

Das folgende Fenster erscheint nach dem Ausführen des Skripts:

Beispiel 4: Verwendung von Rahmen

Im folgenden Python-Skript wird ein Label und zwei Schaltflächen innerhalb eines Frame-Widgets angezeigt. Erstellen Sie eine Python-Datei mit dem Skript, um die Ausgabe zu überprüfen:

#Import necessary Module
from tkinter import *

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("tkinter Module")

#Set the height and width of the window
tkobj.geometry('250x100')

#Define frame objects
frm = Frame(tkobj)
frm.pack()
lframe = Frame(tkobj)
lframe.pack(side=LEFT)
rframe = Frame(tkobj)
rframe.pack(side=RIGHT)

#Define label inside the frame
lbl = Label(frm, text="Use of Frame", fg="blue")
lbl.pack()

#Define buttons inside the frame
btn1 = Button(lframe, text="", fg="black", bg="white")
btn2.pack(side=RIGHT)

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts:

Beispiel 5: Behandle das Schaltflächenereignis

Die Verwendung des Nachrichtenfelds wird im folgenden Skript gezeigt. Das Nachrichtenfeld wird angezeigt, wenn ein Button geklickt wird:

#Import necessary Modules
from tkinter import *
from tkinter import messagebox

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('400x150')

#Define a function to display a message box
def display():

  messagebox.showinfo("Information","Button is clicked.") #Create label text with font color, style, and position Label(tkobj, text="Desktop application using tkinter.", fg="green").pack(pady=25) #Create a button with a button handler Button(tkobj, text="Show Message", command=display).pack() #Set the display position of the window centrally tkobj.eval('tk::PlaceWindow . center') #Run the Tkinter tkobj.mainloop()

Ausgabe:

Das folgende Fenster erscheint nach dem Ausführen des Skripts:

Das folgende Nachrichtenfenster erscheint nach dem Drücken des Knopfes:

Beispiel 6: Nehmen Sie eine Eingabe vom Benutzer

Im tkinter-Modul stehen mehrere Widgets zur Verfügung, um Eingaben vom Benutzer zu erhalten. Die Verwendung der gebräuchlichsten Widgets wird im folgenden Skript gezeigt. Erstellen Sie eine Python-Datei mit dem folgenden Code, um die Ausgabe zu überprüfen:

#Import necessary Modules
from tkinter import *
from tkinter.ttk import Combobox
from tkinter import ttk
import tkinter as tk
from tkinter import messagebox

#Create tkinter object
tkobj = Tk()

#Set the title of the window
tkobj.title("User Information Form")

#Set the height and width of the window
tkobj.geometry('550x320')

#Define a function to display the form values
def display_values():

   #Read single-line text    name = "Name : " + name_val.get() + "\n"    #Read the selected radio button value    if gender.get() == 1:

       g = "Male"    else:

       g = "Female"    g = "Gender : " + g + "\n"    #Read the selected checkbox values    game = ""    if g1.get() == 1:

       game = "Cricket"    if g2.get() == 1:

       if game != "":

           game += ", " + "Football"        else:

           game = "Football"    if g3.get() == 1:

       if game != "":

           game += ", " + "Basketball"        else:

           game = "Basketball"    game = "Game : " + game + "\n"    #Read the combobox values    country = "Country : " + countryVal.get() + "\n"    #Read the multi-line text    address = "Address : " + addr.get("1.0", "end") + "\n"    #Merge all values taken by the fields    form_values = name + g + game + country + address    #Display the values in the message box    messagebox.showinfo("User Information Details", form_values) #Create a label and the name field Label(tkobj, text="Name : ").place(x=100, y=20) name_val = StringVar() ttk.Entry(tkobj, textvariable=name_val).pack(padx=220, pady=20) #Create a label and the radio button Label(tkobj, text="Gender : ").place(x=100, y=60) gender = IntVar() gender.set(1) Radiobutton(tkobj, text="Male", variable=gender, value=1).place(x=210, y=60) Radiobutton(tkobj, text="Female", variable=gender, value=2).place(x=290, y=60) #Create a label and checkbox button Label(tkobj, text="Favorite game : ").place(x=100, y=100) g1 = IntVar() g2 = IntVar() g3 = IntVar() Checkbutton(tkobj, text="Cricket", variable=g1).place(x=210, y=100) Checkbutton(tkobj, text="Football", variable=g2).place(x=290, y=100) Checkbutton(tkobj, text="Basketball", variable=g3).place(x=380, y=100) #Define tuple values data = ("Bangladesh", "Japan", "USA") #Create label and combobox Label(tkobj, text="Country : ").place(x=100, y=140) countryVal = StringVar() Combobox(tkobj, values=data, textvariable=countryVal).place(x=220, y=140) #Create label and text field Label(tkobj, text="Address : ").place(x=100, y=180) addr = (tk.Text(tkobj, height=3, width=20)) addr.place(x=220, y=180) #Create a button with a button handler Button(tkobj, text="Submit", command=display_values).place(x=250, y=250) #Run the Tkinter tkobj.mainloop()

Ausgabe:

Das folgende Fenster erscheint nach dem Ausführen des Skripts:

Füllen Sie die Felder des Formulars aus und drücken Sie auf die Schaltfläche „Absenden“.

Das folgende Nachrichtenfeld mit den übermittelten Werten wird angezeigt:

Fazit

Die Methoden zur Verwendung des Python tkinter Moduls zur Erstellung von GUI-Anwendungen werden in diesem Tutorial anhand mehrerer Beispiele gezeigt.