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:

tkinter Fenster

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.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow