logo

Python Tkinter

Python bietet mehrere Optionen für die Entwicklung einer GUI (Graphical User Interface). Von allen GUI-Methoden ist tkinter die am häufigsten verwendete Methode. Es handelt sich um eine Standard-Python-Schnittstelle zum Tk-GUI-Toolkit, das mit Python geliefert wird. Python Tkinter ist der schnellste und einfachste Weg, GUI-Anwendungen zu erstellen. Das Erstellen einer GUI mit Tkinter ist eine einfache Aufgabe.

Inhaltsverzeichnis



Um eine Tkinter-Python-App zu erstellen, befolgen Sie diese grundlegenden Schritte:

  1. Importieren Sie das tkinter-Modul : Dies geschieht genau wie das Importieren jedes anderen Moduls in Python . Beachten Sie, dass das Modul in Python 2.x „Tkinter“ heißt, während es in Python 3.x „tkinter“ heißt.
  2. Erstellen Sie das Hauptfenster (Container) : Das Hauptfenster dient als Container für alle GUI-Elemente, die Sie später hinzufügen.
  3. Fügen Sie Widgets zum Hauptfenster hinzu : Sie können dem Hauptfenster beliebig viele Widgets wie Schaltflächen, Beschriftungen, Eingabefelder usw. hinzufügen, um die Benutzeroberfläche nach Ihren Wünschen zu gestalten.
  4. Wenden Sie Ereignisauslöser auf die Widgets an : Sie können den Widgets Ereignisauslöser hinzufügen, um zu definieren, wie sie auf Benutzerinteraktionen reagieren.

Erstellen Sie die erste Tkinter-GUI-Anwendung

Es gibt zwei Hauptmethoden, die der Benutzer beim Erstellen der Python-Anwendung mit GUI beachten muss.

Wie kann man in Gimp die Auswahl aufheben?

Tk()

Um ein Hauptfenster zu erstellen, bietet tkinter eine Methode „Tk(screenName=None, baseName=None, className=’Tk’, useTk=1)‘ an. Um den Namen des Fensters zu ändern, können Sie den Klassennamen in den gewünschten Namen ändern. Der grundlegende Code zum Erstellen des Hauptfensters der Anwendung ist:



Hauptschleife()

Es gibt eine Methode namens mainloop(), die verwendet wird, wenn Ihre Anwendung zur Ausführung bereit ist. mainloop() ist eine Endlosschleife, mit der die Anwendung ausgeführt, auf das Eintreten eines Ereignisses gewartet und das Ereignis verarbeitet wird, solange das Fenster nicht geschlossen ist.

Beispiel

Python3
import tkinter m = tkinter.Tk() ''' widgets are added here ''' m.mainloop()>

Ausgabe



Bild

Tkinter-Widget

Es gibt eine Reihe von Widgets, die Sie in Ihre tkinter-Anwendung einfügen können. Einige der wichtigsten Widgets werden im Folgenden erläutert:

1. Etikett

Es bezieht sich auf das Anzeigefeld, in das Sie beliebigen Text oder ein beliebiges Bild einfügen können, das jederzeit gemäß dem Code aktualisiert werden kann. Die allgemeine Syntax lautet:

w=Label(master, option=value) master is the parameter used to represent the parent window.>
Python3
from tkinter import * root = Tk() w = Label(root, text='GeeksForGeeks.org!') w.pack() root.mainloop()>

Ausgabe

Etikett

2. Taste

Um Ihrer Anwendung eine Schaltfläche hinzuzufügen, wird dieses Widget verwendet. Die allgemeine Syntax lautet:

w=Button(master, option=value)>

master ist der Parameter, der zur Darstellung des übergeordneten Fensters verwendet wird. Es gibt eine Reihe von Optionen, mit denen Sie das Format der Schaltflächen ändern können. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden.Python3>

>
>

import tkinter as tk r = tk.Tk() r.title('Counting Seconds') button = tk.Button(r, text='Stop', width=25, command=r.destroy) button.pack() r.mainloop()>


Ausgabe


3. Eintrag

Es dient zur Eingabe der einzeiligen Texteingabe durch den Benutzer. Für die mehrzeilige Texteingabe wird das Text-Widget verwendet. Die allgemeine Syntax lautet:

w=Entry(master, option=value)>

master ist der Parameter, der zur Darstellung des übergeordneten Fensters verwendet wird. Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * master = Tk() Label(master, text='First Name').grid(row=0) Label(master, text='Last Name').grid(row=1) e1 = Entry(master) e2 = Entry(master) e1.grid(row=0, column=1) e2.grid(row=1, column=1) mainloop()>

Ausgabe

Polymorphismus in Java

4. CheckButton

Zur Auswahl einer beliebigen Anzahl von Optionen, indem einem Benutzer mehrere Optionen als Umschalttasten angezeigt werden. Die allgemeine Syntax lautet:

w = CheckButton(master, option=value)>

Es gibt eine Reihe von Optionen, mit denen das Format dieses Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * master = Tk() var1 = IntVar() Checkbutton(master, text='male', variable=var1).grid(row=0, sticky=W) var2 = IntVar() Checkbutton(master, text='female', variable=var2).grid(row=1, sticky=W) mainloop()>

Ausgabe



5. Radio knopf

Es wird verwendet, um dem Benutzer eine Multi-Choice-Option anzubieten. Es bietet dem Benutzer mehrere Optionen und der Benutzer muss eine Option auswählen. Die allgemeine Syntax lautet:

w = RadioButton(master, option=value)>

Es gibt eine Reihe von Optionen, mit denen das Format dieses Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * root = Tk() v = IntVar() Radiobutton(root, text='GfG', variable=v, value=1).pack(anchor=W) Radiobutton(root, text='MIT', variable=v, value=2).pack(anchor=W) mainloop()>

Ausgabe

6. Listenfeld

Es bietet dem Benutzer eine Liste, aus der er beliebig viele Optionen übernehmen kann. Die allgemeine Syntax lautet:

w = Listbox(master, option=value) master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * top = Tk() Lb = Listbox(top) Lb.insert(1, 'Python') Lb.insert(2, 'Java') Lb.insert(3, 'C++') Lb.insert(4, 'Any other') Lb.pack() top.mainloop()>

Ausgabe


7. Scrollleiste

Es bezieht sich auf den Schieberegler, der zum Implementieren der aufgelisteten Widgets verwendet wird. Die allgemeine Syntax lautet:

w = Scrollbar(master, option=value) master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * root = Tk() scrollbar = Scrollbar(root) scrollbar.pack(side=RIGHT, fill=Y) mylist = Listbox(root, yscrollcommand=scrollbar.set) for line in range(100): mylist.insert(END, 'This is line number' + str(line)) mylist.pack(side=LEFT, fill=BOTH) scrollbar.config(command=mylist.yview) mainloop()>

Ausgabe

8. Speisekarte

Es wird zum Erstellen aller Arten von Menüs verwendet, die von der Anwendung verwendet werden. Die allgemeine Syntax lautet:

w = Menu(master, option=value) master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format dieses Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * root = Tk() menu = Menu(root) root.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label='File', menu=filemenu) filemenu.add_command(label='New') filemenu.add_command(label='Open...') filemenu.add_separator() filemenu.add_command(label='Exit', command=root.quit) helpmenu = Menu(menu) menu.add_cascade(label='Help', menu=helpmenu) helpmenu.add_command(label='About') mainloop()>

Ausgabe

9. Kombinationsfeld

Das Combobox-Widget wird mit der Klasse ttk.Combobox aus dem Modul tkinter.ttk erstellt. Die Werte für die Combobox werden über den Parameter „values“ angegeben. Der Standardwert wird mit der Set-Methode festgelegt. Eine Event-Handler-Funktion on_select wird mithilfe der Bindungsmethode an die Combobox gebunden, die bei jeder Auswahl eines Elements eine Beschriftung mit dem ausgewählten Element aktualisiert.

Python3
import tkinter as tk from tkinter import ttk def on_select(event): selected_item = combo_box.get() label.config(text='Selected Item: ' + selected_item) root = tk.Tk() root.title('Combobox Example') # Create a label label = tk.Label(root, text='Selected Item: ') label.pack(pady=10) # Create a Combobox widget combo_box = ttk.Combobox(root, values=['Option 1', 'Option 2', 'Option 3']) combo_box.pack(pady=5) # Set default value combo_box.set('Option 1') # Bind event to selection combo_box.bind('<>', on_select) root.mainloop()>

Ausgabe

Bild2

10. Skala

Es wird verwendet, um einen grafischen Schieberegler bereitzustellen, der die Auswahl eines beliebigen Werts aus dieser Skala ermöglicht. Die allgemeine Syntax lautet:

w = Scale(master, option=value)master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * master = Tk() w = Scale(master, from_=0, to=42) w.pack() w = Scale(master, from_=0, to=200, orient=HORIZONTAL) w.pack() mainloop()>

Ausgabe

elf. Höchststufe

Dieses Widget wird direkt vom Fenstermanager gesteuert. Es ist kein übergeordnetes Fenster zum Bearbeiten erforderlich. Die allgemeine Syntax lautet:

w = TopLevel(master, option=value)>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * root = Tk() root.title('GfG') top = Toplevel() top.title('Python') top.mainloop()>

Ausgabe

Java-Grundlagen

12. Nachricht

Es bezieht sich auf den mehrzeiligen und nicht editierbaren Text. Es funktioniert genauso wie Label. Die allgemeine Syntax lautet:

w = Message(master, option=value) master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * main = Tk() ourMessage = 'This is our Message' messageVar = Message(main, text=ourMessage) messageVar.config(bg='lightgreen') messageVar.pack() main.mainloop()>

Ausgabe

13. Menütaste

Es ist ein Teil des Top-Down-Menüs, das ständig im Fenster angezeigt wird. Jede Menüschaltfläche hat ihre eigene Funktionalität. Die allgemeine Syntax lautet:

w = MenuButton(master, option=value) master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * top = Tk() mb = Menubutton ( top, text = 'GfG') mb.grid() mb.menu = Menu ( mb, tearoff = 0 ) mb['menu'] = mb.menu cVar = IntVar() aVar = IntVar() mb.menu.add_checkbutton ( label ='Contact', variable = cVar ) mb.menu.add_checkbutton ( label = 'About', variable = aVar ) mb.pack() top.mainloop()>

Ausgabe

14. Fortschrittsanzeige

Tkinter-Anwendung mit einem Fortschrittsbalken-Widget und einer Schaltfläche zum Starten des Fortschritts. Wenn Sie auf die Schaltfläche klicken, füllt sich der Fortschrittsbalken innerhalb kurzer Zeit auf 100 % und simuliert so eine Aufgabe, deren Erledigung einige Zeit in Anspruch nimmt.

Python3
import tkinter as tk from tkinter import ttk import time def start_progress(): progress.start() # Simulate a task that takes time to complete for i in range(101): # Simulate some work time.sleep(0.05) progress['value'] = i # Update the GUI root.update_idletasks() progress.stop() root = tk.Tk() root.title('Progressbar Example') # Create a progressbar widget progress = ttk.Progressbar(root, orient='horizontal', length=300, mode='determinate') progress.pack(pady=20) # Button to start progress start_button = tk.Button(root, text='Start Progress', command=start_progress) start_button.pack(pady=10) root.mainloop()>

Ausgabe

Fortschritt

fünfzehn. SpinBox

Es handelt sich um einen Eintrag des Widgets „Eintrag“. Hier kann der Wert eingegeben werden, indem ein fester Zahlenwert ausgewählt wird. Die allgemeine Syntax lautet:

w = SpinBox(master, option=value)>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * master = Tk() w = Spinbox(master, from_=0, to=10) w.pack() mainloop()>

Ausgabe:

16. Text

Um einen mehrzeiligen Text zu bearbeiten und ihn so zu formatieren, wie er angezeigt werden soll. Die allgemeine Syntax lautet:

w =Text(master, option=value)>

Es gibt eine Reihe von Optionen, mit denen Sie das Format des Textes ändern können. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * root = Tk() T = Text(root, height=2, width=30) T.pack() T.insert(END, 'techcodeview.com
BEST WEBSITE
') mainloop()>

Ausgabe

17. Leinwand

Es wird zum Zeichnen von Bildern und anderen komplexen Layouts wie Grafiken, Text und Widgets verwendet. Die allgemeine Syntax lautet:

w = Canvas(master, option=value) master is the parameter used to represent the parent window.>

Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * master = Tk() w = Canvas(master, width=40, height=60) w.pack() canvas_height=20 canvas_width=200 y = int(canvas_height / 2) w.create_line(0, y, canvas_width, y ) mainloop()>

Ausgabe

18. PannedWindow

Es handelt sich um ein Container-Widget, das zur Verwaltung der darin angeordneten Anzahl von Fenstern verwendet wird. Die allgemeine Syntax lautet:

w = PannedWindow(master, option=value)>

Master ist der Parameter, der zur Darstellung des übergeordneten Fensters verwendet wird. Es gibt eine Reihe von Optionen, mit denen das Format des Widgets geändert werden kann. Die Anzahl der Optionen kann als durch Kommas getrennte Parameter übergeben werden. Einige davon sind unten aufgeführt.

Python3
from tkinter import * m1 = PanedWindow() m1.pack(fill=BOTH, expand=1) left = Entry(m1, bd=5) m1.add(left) m2 = PanedWindow(m1, orient=VERTICAL) m1.add(m2) top = Scale(m2, orient=HORIZONTAL) m2.add(top) mainloop()>

Ausgabe

Farboption in Tkinter

Dieses Beispiel demonstriert die Verwendung verschiedener Farboptionen in Tkinter-Widgets, einschließlich aktiver Hintergrund- und Vordergrundfarben, Hintergrund- und Vordergrundfarben, deaktivierter Statusfarben und Auswahlfarben. Jedes Widget im Beispiel zeigt eine andere Farboption und bietet eine visuelle Darstellung, wie sich diese Optionen auf das Erscheinungsbild der Widgets auswirken.

Python3
import tkinter as tk root = tk.Tk() root.title('Color Options in Tkinter') # Create a button with active background and foreground colors button = tk.Button(root, text='Click Me', activebackground='blue', activeforeground='white') button.pack() # Create a label with background and foreground colors label = tk.Label(root, text='Hello, Tkinter!', bg='lightgray', fg='black') label.pack() # Create an Entry widget with selection colors entry = tk.Entry(root, selectbackground='lightblue', selectforeground='black') entry.pack() root.mainloop()>

Ausgabe

2024-04-2516-50-47online-video-cuttercom-ezgifcom-video-to-gif-converter

Erfahren Sie mehr zum Verbessern der Schriftart: Tkinter-Schriftart

Geometriemanagement

Tkinter bietet auch Zugriff auf die geometrische Konfiguration der Widgets, wodurch die Widgets in den übergeordneten Fenstern organisiert werden können. Es gibt hauptsächlich drei Geometrie-Manager-Klassen.

pack()-Methode

Es organisiert die Widgets in Blöcken, bevor es im übergeordneten Widget platziert wird.

Python3
import tkinter as tk root = tk.Tk() root.title('Pack Example') # Create three buttons button1 = tk.Button(root, text='Button 1') button2 = tk.Button(root, text='Button 2') button3 = tk.Button(root, text='Button 3') # Pack the buttons vertically button1.pack() button2.pack() button3.pack() root.mainloop()>

Ausgabe


Pack

Grid()-Methode

Es organisiert die Widgets in einem Raster (tabellenartige Struktur), bevor es im übergeordneten Widget platziert wird.

Python3
import tkinter as tk root = tk.Tk() root.title('Grid Example') # Create three labels label1 = tk.Label(root, text='Label 1') label2 = tk.Label(root, text='Label 2') label3 = tk.Label(root, text='Label 3') # Grid the labels in a 2x2 grid label1.grid(row=0, column=0) label2.grid(row=0, column=1) label3.grid(row=1, column=0, columnspan=2) root.mainloop()>

Ausgabe

Netz

Was ist Objekt Java?

place()-Methode

Es organisiert die Widgets, indem es sie an bestimmten, vom Programmierer vorgegebenen Positionen platziert.

Python3
import tkinter as tk root = tk.Tk() root.title('Place Example') # Create a label label = tk.Label(root, text='Label') # Place the label at specific coordinates label.place(x=50, y=50) root.mainloop()>

Ausgabe

Ort