Príklady Python Tkinter

Priklady Python Tkinter



Python je všestranný programovací jazyk, ktorý možno použiť na implementáciu rôznych typov aplikácií. Má mnoho typov modulov na vytváranie aplikácií založených na GUI (Graphical User Interface). Python tkinter je jedným z nich. Pomocou modulu tkinter je možné jednoducho implementovať akúkoľvek desktopovú aplikáciu. Bude lepšie, ak budete mať základné znalosti programovania v Pythone, aby ste sa naučili používať modul Python tkinter. V tomto návode sú uvedené rôzne použitia modulu Python tkinter na vytváranie aplikácií GUI.

Nainštalujte modul Tkinter

Modul tkinter nie je v Pythone štandardne nainštalovaný. Ak chcete nainštalovať modul tkinter vo verzii Python 3+, musíte spustiť nasledujúci príkaz:







$ sudo apt Inštalácia python3-tk



Rôzne widgety Tkinter

Modul tkinter obsahuje rôzne widgety na rôzne účely.







Názov miniaplikácie Účel
Označenie Používa sa na zobrazenie pomocnej správy pre používateľa.
Tlačidlo Používa sa na pridávanie rôznych tlačidiel v aplikácii.
Rám Funguje to ako kontajner miniaplikácií, ktorý obsahuje rôzne typy miniaplikácií na návrh organizovaného formulára.
Vstup Používa sa na prevzatie jednoriadkového textu od používateľa.
Kontrolné tlačidlo Používa sa na pridanie tlačidiel začiarkavacích políčok na získanie viacerých vstupov od používateľa z viacerých možností.
Tlačítko na Rádiu Používa sa na pridanie prepínačov na získanie jedného vstupu od používateľa z viacerých možností.
Tlačidlo Combobox Používa sa na pridanie rozbaľovacieho zoznamu na získanie jedného vstupu od používateľa z viacerých možností.
ListBox Používa sa na pridanie zoznamu, aby sa od používateľa odobrali viaceré vstupy z viacerých možností.
Text Používa sa na prevzatie viacriadkového textu od používateľa.
Správa Používa sa na zobrazenie okna správ pre používateľa.
Posuvník Používa sa na pridanie posúvača do okna na posúvanie okna nahor a nadol.
Tlačidlo ponuky Používa sa na zobrazenie menu používateľovi.
Ponuka Používa sa na zobrazenie položiek ponuky používateľovi.
PanedWindow Funguje ako kontajner miniaplikácií, ktorý obsahuje horizontálne a vertikálne panely.
Karty Používa sa na pridanie okna s kartami v aplikácii.

Rôzne príklady Tkinter

Použitie niektorých bežných widgetov tkinter je znázornené v nasledujúcich príkladoch.

Príklad 1: Vytvorte jednoduchú aplikáciu GUI

Vytvorte súbor Python s nasledujúcim obsahom, ktorý zobrazí dialógové okno v strede obrazovky s názvom a konkrétnou výškou a šírkou:



#Importujte potrebný modul
z importu tkinter *

#Vytvorte objekt pre okno
tkobj = Tk ( )

#Nastavte názov okna
tkobj.title ( 'Naučte sa modul tkinter' )

#Nastavte výšku a šírku okna
tkobj.geometria ( '300 x 150' )

# Polohu zobrazenia okna nastavte centrálne
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Spustite Tkinter
tkobj.mainloop ( )

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup. Zobrazí sa dialógové okno s názvom „Learn tkinter module“:

Príklad 2: Použitie štítka a tlačidla

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý zobrazí okno s menovkou a dialógové okno:

#Importujte potrebný modul
z importu tkinter *

#Vytvorte objekt pre okno
tkobj = Tk ( )

#Nastavte názov okna
tkobj.title ( 'Naučte sa modul tkinter' )

#Nastavte výšku a šírku okna
tkobj.geometria ( '400 x 150' )

#Definujte objekt označenia
lbl = Označenie ( tkobj, text = 'Je to jednoduché okno' )
#Pridajte štítok do okna
lbl.pack ( ipadx = 30 , ipady = dvadsať )

#Definovať objekt tlačidla
btn = tlačidlo ( tkobj, text = 'Klikni na mňa' )
#Pridať tlačidlo do okna s pozíciou
btn.pack ( ipadx = 30 , ipady = 10 )

# Polohu zobrazenia okna nastavte centrálne
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Spustite Tkinter
tkobj.mainloop ( )

Výkon:

Po vykonaní skriptu sa v strede obrazovky zobrazí okno s menovkou a tlačidlom.

Príklad 3: Nastavte farbu písma a farbu pozadia

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý zobrazí okno s menovkou a farebným tlačidlom. Atribút pozadia sa tu používa na nastavenie farby pozadia tlačidla a atribút popredia sa používa na nastavenie farby písma tlačidla:

#Importujte potrebný modul
z importu tkinter *

#Vytvorte objekt pre okno
tkobj = Tk ( )

#Nastavte názov okna
tkobj.title ( 'Naučte sa modul tkinter' )

#Nastavte výšku a šírku okna
tkobj.geometria ( '400 x 150' )

#Definujte objekt označenia
lbl = Označenie ( tkobj, text = 'Nastaviť farbu pozadia a popredia' )
#Pridajte štítok do okna
lbl.pack ( ipadx = 30 , ipady = dvadsať )

#Definujte objekt tlačidla s farbou pozadia a popredia
btn = tlačidlo ( tkobj, text = 'Klikni na mňa' , pozadie = 'Modrá' , popredia = 'červená' )
#Pridať tlačidlo do okna s pozíciou
btn.pack ( ipadx = 30 , ipady = 8 )

# Polohu zobrazenia okna nastavte centrálne
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Spustite Tkinter
tkobj.mainloop ( )

Výkon:

Po spustení skriptu sa zobrazí nasledujúce okno:

Príklad 4: Použitie rámca

V nasledujúcom skripte Python sa v miniaplikácii rámca zobrazuje označenie a dve tlačidlá. Vytvorte súbor Python so skriptom na kontrolu výstupu:

#Importujte potrebný modul
z importu tkinter *

#Vytvorte objekt pre okno
tkobj = Tk ( )

#Nastavte názov okna
tkobj.title ( 'tkinter modul' )

#Nastavte výšku a šírku okna
tkobj.geometria ( '250 x 100' )

#Definujte rámové objekty
frm = Rám ( tkobj )
frm.pack ( )
lframe = Rám ( tkobj )
lframe.pack ( strane = Vľavo )
rframe = Rám ( tkobj )
rframe.pack ( strane = SPRÁVNE )

#Definujte štítok vo vnútri rámu
lbl = Označenie ( frm, text = 'Použitie rámu' , fg = 'Modrá' )
lbl.pack ( )

#Definujte tlačidlá vo vnútri rámu
btn1 = tlačidlo ( lframe, text = '' , fg = 'čierna' , bg = 'biely' )
btn2.pack ( strane = SPRÁVNE )

# Polohu zobrazenia okna nastavte centrálne
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Spustite Tkinter
tkobj.mainloop ( )

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup:

Príklad 5: Spracovanie udalosti tlačidla

Použitie okna správ je zobrazené v nasledujúcom skripte. Po kliknutí na tlačidlo sa zobrazí okno so správou:

#Importujte potrebné moduly
z importu tkinter *
zo správy importu tkinter

#Vytvorte objekt pre okno
tkobj = Tk ( )

#Nastavte názov okna
tkobj.title ( 'Naučte sa modul tkinter' )

#Nastavte výšku a šírku okna
tkobj.geometria ( '400 x 150' )

#Definujte funkciu na zobrazenie okna so správou
def displej ( ) :
messagebox.showinfo ( 'informácie' , 'Kliknutie na tlačidlo.' )

#Vytvorte text štítku s farbou písma, štýlom a polohou
Označenie ( tkobj, text = 'Počítačová aplikácia využívajúca tkinter.' , fg = 'zelená' ) .balenie ( Paddy = 25 )

#Vytvorte tlačidlo pomocou ovládača tlačidiel
Tlačidlo ( tkobj, text = 'Zobraziť správu' , príkaz = displej ) .balenie ( )

# Polohu zobrazenia okna nastavte centrálne
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Spustite Tkinter
tkobj.mainloop ( )

Výkon:

Po spustení skriptu sa zobrazí nasledujúce okno:

Po stlačení tlačidla sa zobrazí nasledujúca správa:

Príklad 6: Prijmite vstup od používateľa

V module tkinter je k dispozícii viacero widgetov, ktoré preberajú vstup od používateľa. Použitie najbežnejších widgetov je znázornené v nasledujúcom skripte. Vytvorte súbor Python s nasledujúcim kódom na kontrolu výstupu:

#Importujte potrebné moduly
z importu tkinter *
z tkinter.ttk importovať Combobox
z tkinter import ttk
importovať tkinter ako tk
zo správy importu tkinter

#Vytvorte objekt tkinter
tkobj = Tk ( )

#Nastavte názov okna
tkobj.title ( 'Formulár s informáciami o používateľovi' )

#Nastavte výšku a šírku okna
tkobj.geometria ( 550 x 320 )

#Definujte funkciu na zobrazenie hodnôt formulára
def display_values ( ) :
#Prečítajte si jednoriadkový text
meno = 'Názov : ' + meno_val.get ( ) + ' \n '
#Prečítajte vybranú hodnotu prepínača
ak gender.get ( ) == 1 :
g = 'Muž'
inak:
g = 'Žena'
g = 'Rod : ' + g + ' \n '

#Prečítajte si hodnoty vybratých začiarkavacích políčok
hra = ''
ak g1.get ( ) == 1 :
hra = 'kriket'
ak g2.get ( ) == 1 :
ak hra ! = '' :
hra += ',' + 'Futbal'
inak:
hra = 'Futbal'
ak g3.get ( ) == 1 :
ak hra ! = '' :
hra += ',' + 'basketbal'
inak:
hra = 'basketbal'
hra = 'Hra : ' + hra + ' \n '

#Prečítajte si hodnoty v rozbaľovacom poli
krajina = 'Krajina : ' + countryVal.get ( ) + ' \n '
#Prečítajte si viacriadkový text
adresa = 'Adresa:' + adr.získať ( '1,0' , 'koniec' ) + ' \n '
#Zlúčiť všetky hodnoty prijaté v poliach
form_values ​​= meno + g + hra + krajina + adresa
#Zobrazte hodnoty v poli správy
messagebox.showinfo ( 'Podrobnosti informácií o používateľovi' , hodnoty_form )


#Vytvorte štítok a pole s názvom
Označenie ( tkobj, text = 'Názov : ' ) .miesto ( X = 100 , a = dvadsať )
name_val = StringVar ( )
ttk.Vstup ( tkobj, textová premenná =name_val ) .balenie ( Padx = 220 , Paddy = dvadsať )

#Vytvorte štítok a prepínač
Označenie ( tkobj, text = 'Rod : ' ) .miesto ( X = 100 , a = 60 )
pohlavie = IntVar ( )
pohlavie.nastaviť ( 1 )
Tlačítko na Rádiu ( tkobj, text = 'Muž' , premenlivý =pohlavie, hodnotu = 1 ) .miesto ( X = 210 , a = 60 )
Tlačítko na Rádiu ( tkobj, text = 'Žena' , premenlivý =pohlavie, hodnotu = 2 ) .miesto ( X = 290 , a = 60 )

# Vytvorte štítok a tlačidlo začiarknutia
Označenie ( tkobj, text = 'Obľúbená hra:' ) .miesto ( X = 100 , a = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Kontrolné tlačidlo ( tkobj, text = 'kriket' , premenlivý =g1 ) .miesto ( X = 210 , a = 100 )
Kontrolné tlačidlo ( tkobj, text = 'Futbal' , premenlivý =g2 ) .miesto ( X = 290 , a = 100 )
Kontrolné tlačidlo ( tkobj, text = 'basketbal' , premenlivý =g3 ) .miesto ( X = 380 , a = 100 )

#Definujte hodnoty n-tice
údaje = ( 'Bangladéš' , 'Japonsko' , 'USA' )
#Vytvorte štítok a pole so zoznamom
Označenie ( tkobj, text = 'Krajina : ' ) .miesto ( X = 100 , a = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, hodnoty =údaje, textová premenná =countryVal ) .miesto ( X = 220 , a = 140 )

#Vytvorte štítok a textové pole
Označenie ( tkobj, text = 'Adresa:' ) .miesto ( X = 100 , a = 180 )
addr = ( tk.Text ( tkobj, výška = 3 , šírka = dvadsať ) )
addr.place ( X = 220 , a = 180 )

#Vytvorte tlačidlo pomocou ovládača tlačidiel
Tlačidlo ( tkobj, text = 'Predložiť' , príkaz =display_values ) .miesto ( X = 250 , a = 250 )

#Spustite Tkinter
tkobj.mainloop ( )

Výkon:

Po spustení skriptu sa zobrazí nasledujúce okno:

Vyplňte polia formulára a stlačte tlačidlo „Odoslať“.

Zobrazí sa nasledujúce okno so správou s odoslanými hodnotami:

Záver

Metódy použitia modulu Python tkinter na vytváranie GUI aplikácií sú uvedené v tomto návode na viacerých príkladoch.