Szukaj…


Uwagi

Tkinter („ Tk Inter face”) to standardowy wieloplatformowy pakiet Pythona do tworzenia graficznych interfejsów użytkownika (GUI). Zapewnia dostęp do bazowego interpretera Tcl za pomocą zestawu narzędzi Tk, który sam jest wieloplatformową, wielojęzyczną graficzną biblioteką interfejsu użytkownika.

Tkinter nie jest jedyną biblioteką GUI dla Pythona, ale jest standardową wersją. Dodatkowe biblioteki GUI, których można używać z Pythonem, to wxPython , PyQt i kivy .

Największą siłą Tkintera jest wszechobecność i prostota. Działa od razu na większości platform (Linux, OSX, Windows) i jest wyposażony w szeroki zakres widżetów niezbędnych do większości typowych zadań (przyciski, etykiety, płótno rysunkowe, tekst wielowierszowy itp.).

Jako narzędzie do nauki, tkinter ma pewne funkcje, które są unikalne wśród zestawów narzędzi GUI, takie jak nazwane czcionki, znaczniki powiązań i śledzenie zmiennych.

Różnice między python 2 i 3

Tkinter jest w dużej mierze niezmieniony między Pythonem 2 i Pythonem 3, przy czym główna różnica polega na zmianie nazwy pakietu i modułów Tkintera.

Importowanie w python 2.x

W Pythonie 2.x pakiet tkinter nosi nazwę Tkinter , a powiązane pakiety mają swoje własne nazwy. Na przykład poniżej pokazano typowy zestaw instrukcji importu dla Pythona 2.x:

import Tkinter as tk
import tkFileDialog as filedialog
import ttk

Importowanie do Pythona 3.x

Chociaż funkcjonalność niewiele się zmieniła między python 2 i 3, nazwy wszystkich modułów tkinter uległy zmianie. Poniżej przedstawiono typowy zestaw instrukcji importu dla Pythona 3.x:

import tkinter as tk
from tkinter import filedialog
from tkinter import ttk

Dalsza lektura

Wersje

Tcl

Wersja Data wydania
8.6 2016-07-27
8.5 2016-02-12
8.4 01.06.2013
8.3 2002-10-18
8.2 1999-12-16
8.1 1999-05-26
8.0 1999-03-09

Pyton

Wersja Data wydania
3.6 23.12.2016
3.5 13.09.2015
3.4 17.03.2014
3.3 29.09.2012
3.2 2011-02-20
3.1 26.06.2009
3.0 2008-12-03
2.7 2010-07-03
2.6 02.10.2008
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

Instalacja lub konfiguracja

Tkinter jest fabrycznie zainstalowany z plikami binarnymi instalatora Python dla systemu Mac OS X i platformy Windows. Jeśli więc zainstalujesz Python z oficjalnych plików binarnych na Mac OS X lub platformę Windows, dobrze jest wybrać Tkinter.

W wersjach systemu Linux Debian musisz zainstalować go ręcznie, używając następujących poleceń.

Dla Python 3

sudo apt-get install python3-tk

Dla Python 2.7

sudo apt-get install python-tk

Dystrybutorzy systemu Linux z instalatorem yum mogą zainstalować moduł tkinter za pomocą polecenia:

mniam zainstaluj tkinter

weryfikowanie instalacji

Aby sprawdzić, czy Tkinter został pomyślnie zainstalowany, otwórz konsolę Python i wpisz następujące polecenie:

import tkinter as tk # for Python 3 version

lub

import Tkinter as tk # for Python 2.x version

Pomyślnie zainstalowałeś Tkinter, jeśli powyższe polecenie zostanie wykonane bez błędu.

Aby sprawdzić wersję Tkinter, wpisz następujące polecenia w Python REPL:

Dla python 3.X

import tkinter as tk
tk._test()

Dla python 2.X

import Tkinter as tk
tk._test()

Uwaga: Importowanie Tkinter as tk nie jest wymagane, ale jest dobrą praktyką, ponieważ pomaga zachować spójność między wersjami.

Witaj świecie! (minimalny)

Przetestujmy naszą podstawową wiedzę na temat tkinter, tworząc klasyczne „Witaj, świecie!” program.

Najpierw musimy zaimportować tkinter, będzie się to różnić w zależności od wersji (zobacz sekcję uwag na temat „Różnice między Pythonem 2 a 3”)

W Pythonie 3 moduł tkinter ma małą literę t:

import tkinter as tk

W Pythonie 2 moduł Tkinter ma wielką literę T:

import Tkinter as tk 

Używanie as tk nie jest absolutnie konieczne, ale użyjemy go, więc reszta tego przykładu będzie działać tak samo dla obu wersji.

teraz, gdy mamy zaimportowany moduł tkinter, możemy utworzyć katalog główny naszej aplikacji za pomocą klasy Tk :

root = tk.Tk()

Będzie to działać jako okno dla naszej aplikacji. (pamiętaj, że zamiast tego dodatkowe okna powinny być instancjami Toplevel )

Teraz, gdy mamy okno, dodajmy do niego tekst z Label

label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window

Gdy aplikacja jest gotowa, możemy ją uruchomić (wejść do głównej pętli zdarzeń) metodą mainloop

root.mainloop()

Spowoduje to otwarcie i uruchomienie aplikacji do momentu zatrzymania przez zamknięcie okna lub wywołanie funkcji wychodzących z wywołań zwrotnych (omówionych później), takich jak root.destroy() .

Kładąc wszystko razem:

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()

I powinno pojawić się coś takiego:

okno Tkintera

Witaj świecie! (modułowy, obiektowy)

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()

Uwaga: Możliwe jest dziedziczenie z dowolnego widżetu tkinter, w tym z okna głównego. Dziedziczenie po tkinter.Frame jest co najmniej prawdopodobnie najbardziej elastyczny, ponieważ obsługuje wiele interfejsów dokumentów (MDI), interfejsy pojedynczych dokumentów (SDI), aplikacje na jednej stronie i aplikacje na wiele stron.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow