Tkinter
Tkinter – biblioteka Pythona umożliwiająca tworzenie interfejsu graficznego (GUI). Tkinter jest dołączony do standardowych instalacji Pythona w systemach Linux, Microsoft Windows i Mac OS X[1].
Nazwa Tkinter pochodzi od interfejsu Tk. Biblioteka ta została napisana przez Fredrika Lundha[2].
Tkinter to darmowe oprogramowanie wydane na licencji Pythona[3].
Opis
[edytuj | edytuj kod]Podobnie jak w przypadku większości innych współczesnych powiązań Tk, Tkinter jest implementowany jako opakowanie Pythona wokół pełnego interpretera Tcl osadzonego w interpreterze tego języka. Wywołania tej biblioteki są tłumaczone na polecenia Tcl, które są przekazywane do wbudowanego interpretera, umożliwiając w ten sposób mieszanie Pythona i Tcl w jednej aplikacji[1].
Dostępnych jest kilka popularnych, alternatywnych bibliotek GUI, takich jak wxPython, PyQt, PySide , Pygame, Pyglet i PyGTK.
Widżety
[edytuj | edytuj kod]Ogólny termin określający dowolny z bloków konstrukcyjnych, które składają się na aplikację w interfejsie graficznym.
- Widżety podstawowe: Kontenery: frame, labelframe, toplevel, paned window. Przyciski: button, radiobutton, checkbutton (checkbox) i menubutton. Widżety tekstowe: label, message, text. Widżety wejścia: scale, scrollbar, listbox, slider, spinbox, entry (pojedyncza linia), optionmenu, text (wiele wierszy) i canvas (wektorowa i pixelowa grafika)[2].
- Tkinter udostępnia trzy moduły, które umożliwiają wyświetlanie wyskakujących okien dialogowych: tk.messagebox (potwierdzenia, informacje, ostrzeżenia i okna dialogowe błędów), tk.filedialog (pojedynczy plik, wiele okien dialogowych wyboru plików i katalogów) i tk.colorchooser (próbnik kolorów)[2].
Przykładowy kod
[edytuj | edytuj kod]# !/usr/bin/env python3
import tkinter as tk
class Aplikacja(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.grid()
self.createWidgets()
def createWidgets(self):
self.przykladowaEtykieta = tk.Label(self, text='Witaj Świecie')
self.przykladowaEtykieta.config(bg="#00ffff")
self.przykladowaEtykieta.grid()
self.quitButton = tk.Button(self, text='Zakończ', command=self.quit)
self.quitButton.grid()
app = Aplikacja()
app.master.title('Przykładowa Aplikacja')
app.mainloop()
Linia 2: Importuje moduł tkinter (jako tk).
Linia 4: Tworzy klasę Aplikacja, która dziedziczy po tk.Frame.
Linia 6: Konstruktor.
Linia 7: Wywołuje konstruktor dla klasy nadrzędnej (tk.Frame).
Linia 11: Definiuje widżety.
Linia 12: Tworzy etykietę o nazwie przykladowaEtykieta z tekstem „Witaj Świecie”.
Linia 13: Ustawia kolor tła przykladowaEtykieta na cyjan.
Linia 14: Umieszcza etykietę w aplikacji (przy użyciu metody Grid).
Linia 15: Tworzy przycisk z tekstem „Zakończ”.
Linia 16: Umieszcza przycisk w aplikacji.
Linia 18: Przypisuje zmiennej app klasę Aplikacja.
Linia 19: Ustawia tytuł okna na Przykładowa Aplikacja.
Linia 20: Uruchamia aplikacje.
Powyższy kod jest napisany w Python 3, w Python 2 wyglądałby tak samo, oprócz tego, że tkinter byłby napisany od wielkiej litery.
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ a b tkinter – Python interface to Tcl/Tk – Python 3.9.2 documentation [online], docs.python.org [dostęp 2021-03-01] .
- ↑ a b c Python – GUI Programming (Tkinter) – Tutorialspoint [online], www.tutorialspoint.com [dostęp 2021-03-01] .
- ↑ Tkinter – Tkinter Wiki [online], web.archive.org, 13 listopada 2013 [dostęp 2021-03-01] [zarchiwizowane z adresu 2013-11-13] .