tkinter Tutorial
Erste Schritte mit tkinter
Suche…
Bemerkungen
Tkinter (" Tk Interface") ist das plattformübergreifende Standardpaket von python zum Erstellen grafischer Benutzeroberflächen (GUIs). Es bietet Zugriff auf einen zugrunde liegenden Tcl-Interpreter mit dem Tk-Toolkit, das selbst eine plattformübergreifende, mehrsprachige grafische Benutzeroberflächenbibliothek ist.
Tkinter ist nicht die einzige GUI-Bibliothek für Python, aber es ist diejenige, die zum Standard gehört. Zusätzliche GUI-Bibliotheken, die mit Python verwendet werden können, sind wxPython , PyQt und Kivy .
Tkinters größte Stärke ist seine Allgegenwart und Einfachheit. Sie ist auf den meisten Plattformen (Linux, OSX, Windows) sofort einsatzbereit und wird mit einer breiten Palette von Widgets geliefert, die für die meisten Aufgaben (Schaltflächen, Beschriftungen, Zeichenfläche, mehrzeiliger Text usw.) erforderlich sind.
Als Lernwerkzeug verfügt tkinter über einige Funktionen, die unter GUI-Toolkits einzigartig sind, z. B. benannte Schriftarten, Bindetags und die Ablaufverfolgung von Variablen.
Unterschiede zwischen Python 2 und 3
Tkinter ist zwischen Python 2 und Python 3 weitgehend unverändert, mit dem Hauptunterschied, dass das Tkinter-Paket und die Module umbenannt wurden.
Importieren in Python 2.x
In python 2.x heißt das tkinter-Paket Tkinter
, und verwandte Pakete haben eigene Namen. Das folgende Beispiel zeigt einen typischen Satz von Importanweisungen für Python 2.x:
import Tkinter as tk
import tkFileDialog as filedialog
import ttk
Importieren in Python 3.x
Obwohl sich die Funktionalität zwischen Python 2 und 3 nicht viel geändert hat, haben sich die Namen aller tkinter-Module geändert. Das Folgende ist ein typischer Satz von Importanweisungen für Python 3.x:
import tkinter as tk
from tkinter import filedialog
from tkinter import ttk
Lesen Sie weiter
Versionen
Tcl
Ausführung | Veröffentlichungsdatum |
---|---|
8,6 | 2016-07-27 |
8,5 | 2016-02-12 |
8.4 | 2013-06-01 |
8.3 | 2002-10-18 |
8.2 | 1999-12-16 |
8.1 | 1999-05-26 |
8,0 | 1999-03-09 |
Python
Ausführung | Veröffentlichungsdatum |
---|---|
3.6 | 2016-12-23 |
3,5 | 2015-09-13 |
3.4 | 2014-03-17 |
3.3 | 2012-09-29 |
3.2 | 2011-02-20 |
3.1 | 2009-06-26 |
3,0 | 2008-12-03 |
2,7 | 2010-07-03 |
2.6 | 2008-10-02 |
2,5 | 2006-09-19 |
2.4 | 2004-11-30 |
2.3 | 2003-07-29 |
2.2 | 2001-12-21 |
2.1 | 2001-04-15 |
2,0 | 2000-10-16 |
Installation oder Setup
Tkinter ist mit den Python-Installationsprogrammen für Mac OS X und der Windows-Plattform vorinstalliert. Wenn Sie also Python von den offiziellen Binärdateien für Mac OS X oder Windows installieren, können Sie Tkinter verwenden.
Für Debian-Versionen von Linux müssen Sie sie mit den folgenden Befehlen manuell installieren.
Für Python 3
sudo apt-get install python3-tk
Für Python 2.7
sudo apt-get install python-tk
Linux-Distributionen mit dem yum-Installationsprogramm können das tkinter-Modul mit dem folgenden Befehl installieren:
yum install tkinter
Überprüfen der Installation
Um zu überprüfen, ob Sie Tkinter erfolgreich installiert haben, öffnen Sie Ihre Python-Konsole und geben Sie den folgenden Befehl ein:
import tkinter as tk # for Python 3 version
oder
import Tkinter as tk # for Python 2.x version
Sie haben Tkinter erfolgreich installiert, wenn der obige Befehl ohne Fehler ausgeführt wird.
Um die Tkinter-Version zu überprüfen, geben Sie die folgenden Befehle in Ihre Python REPL ein:
Für Python 3.X
import tkinter as tk
tk._test()
Für Python 2.x
import Tkinter as tk
tk._test()
Hinweis: Das Importieren von Tkinter as tk
ist nicht erforderlich, ist jedoch eine bewährte Methode, da dies die konsistente Ausführung der Versionen gewährleistet.
Hallo Welt! (minimal)
Lassen Sie uns unser Grundwissen über tkinter testen, indem Sie den Klassiker "Hello, World!" Programm.
Zuerst müssen wir tkinter importieren, dies variiert je nach Version (siehe Abschnitt "Unterschiede zwischen Python 2 und 3").
In Python 3 hat das Modul tkinter
ein tkinter
t:
import tkinter as tk
In Python 2 hat das Modul Tkinter
einen Großbuchstaben T:
import Tkinter as tk
Die Verwendung as tk
ist nicht unbedingt erforderlich, aber wir werden es verwenden, damit der Rest dieses Beispiels für beide Versionen gleich funktioniert.
Nachdem wir nun das Tkinter-Modul importiert haben, können wir die Wurzel unserer Anwendung mithilfe der Tk
Klasse erstellen:
root = tk.Tk()
Dies wird als Fenster für unsere Anwendung dienen. (Beachten Sie, dass zusätzliche Fenster stattdessen Toplevel
Instanzen sein sollten.)
Jetzt, da wir ein Fenster haben, fügen wir Text mit einem Label
label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window
Sobald die Anwendung fertig ist , können wir es starten (geben Sie die Hauptereignisschleife) mit dem mainloop
Verfahren
root.mainloop()
Dadurch wird die Anwendung geöffnet und ausgeführt, bis sie angehalten wird, indem das Fenster geschlossen wird oder aus Callbacks bestehende Funktionen root.destroy()
später), wie root.destroy()
.
Alles zusammenstellen:
import tkinter as tk # Python 3.x Version
#import Tkinter as tk # Python 2.x Version
root = tk.Tk()
label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window
root.mainloop()
Und so etwas sollte auftauchen:
Hallo Welt! (modular, objektorientiert)
import tkinter as tk
class HelloWorld(tk.Frame):
def __init__(self, parent):
super(HelloWorld, self).__init__(parent)
self.label = tk.Label(self, text="Hello, World!")
self.label.pack(padx=20, pady=20)
if __name__ == "__main__":
root = tk.Tk()
main = HelloWorld(root)
main.pack(fill="both", expand=True)
root.mainloop()
Hinweis: Es ist möglich, von fast jedem Tkinter-Widget, einschließlich des Stammfensters, zu erben. Die Übernahme von tkinter.Frame
ist zumindest mit tkinter.Frame
die flexibelste, da mehrere Dokumentschnittstellen (MDI), Single Document Interface (SDI), Einzelseitenanwendungen und mehrseitige Anwendungen unterstützt werden.