Python Tkinter

Python Tkinter

Python ponúka viacero možností vývoja GUI (Graphical User Interface). Zo všetkých metód GUI je tkinter najčastejšie používanou metódou. Je to štandardné rozhranie Pythonu k súprave nástrojov GUI Tk dodávané s Pythonom. Python Tkinter je najrýchlejší a najjednoduchší spôsob vytvárania GUI aplikácií. Vytvorenie GUI pomocou Tkinter je jednoduchá úloha.

Obsah

Ak chcete vytvoriť aplikáciu Tkinter Python, postupujte podľa týchto základných krokov:



  1. Importujte modul tkinter : Toto sa vykonáva rovnako ako import akéhokoľvek iného modulu Python . Všimnite si, že v Pythone 2.x má modul názov „Tkinter“, zatiaľ čo v Pythone 3.x má názov „tkinter“.
  2. Vytvorte hlavné okno (kontajner) : Hlavné okno slúži ako kontajner pre všetky prvky GUI, ktoré pridáte neskôr.
  3. Pridajte widgety do hlavného okna : Do hlavného okna môžete pridať ľubovoľný počet miniaplikácií, ako sú tlačidlá, štítky, vstupné polia atď., aby ste mohli navrhnúť rozhranie podľa potreby.
  4. Použite spúšťače udalostí na miniaplikácie : K miniaplikáciám môžete pripojiť spúšťače udalostí a definovať, ako budú reagovať na interakcie používateľa.

Vytvorte prvú aplikáciu Tkinter GUI

Používajú sa dve hlavné metódy, ktoré si používateľ musí zapamätať pri vytváraní aplikácie Python s GUI.

Tk()

Na vytvorenie hlavného okna ponúka tkinter metódu ‘Tk(názov obrazovky=Žiadne, základnéNázov=Žiadne, názov triedy=’Tk’, použitieTk=1)’. Ak chcete zmeniť názov okna, môžete zmeniť názov triedy na požadovaný. Základný kód použitý na vytvorenie hlavného okna aplikácie je:

mainloop()

Existuje metóda známa pod názvom mainloop(), ktorá sa používa, keď je vaša aplikácia pripravená na spustenie. mainloop() je nekonečná slučka používaná na spustenie aplikácie, čakanie na výskyt udalosti a spracovanie udalosti, kým sa okno nezatvorí.

Príklad

Python3
import tkinter m = tkinter.Tk() ''' widgets are added here ''' m.mainloop() 

Výkon

img

Widget Tkinter

Existuje množstvo widgetov, ktoré môžete vložiť do svojej aplikácie tkinter. Niektoré z hlavných widgetov sú vysvetlené nižšie:

1. Označenie

Vzťahuje sa na zobrazovacie pole, do ktorého môžete vložiť ľubovoľný text alebo obrázok, ktorý je možné kedykoľvek aktualizovať podľa kódu. Všeobecná syntax je:

w=Label(master, option=value) master is the parameter used to represent the parent window. 
Python3
from tkinter import * root = Tk() w = Label(root, text='GeeksForGeeks.org!') w.pack() root.mainloop() 

Výkon

štítok

2. Tlačidlo

Na pridanie tlačidla do vašej aplikácie sa používa tento widget. Všeobecná syntax je:

w=Button(master, option=value) 

master je parameter používaný na reprezentáciu nadradeného okna. Existuje množstvo možností, ktoré sa používajú na zmenu formátu tlačidiel. Počet možností je možné zadať ako parametre oddelené čiarkami. Python3 >

>

import tkinter as tk r = tk.Tk() r.title('Counting Seconds') button = tk.Button(r, text='Stop', width=25, command=r.destroy) button.pack() r.mainloop() 


Výkon


3. Vstup

Používa sa na zadávanie jednoriadkového textu od používateľa. Na zadávanie viacriadkového textu sa používa miniaplikácia Text. Všeobecná syntax je:

w=Entry(master, option=value) 

master je parameter používaný na reprezentáciu nadradeného okna. Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * master = Tk() Label(master, text='First Name').grid(row=0) Label(master, text='Last Name').grid(row=1) e1 = Entry(master) e2 = Entry(master) e1.grid(row=0, column=1) e2.grid(row=1, column=1) mainloop() 

Výkon

4. CheckButton

Výber ľubovoľného počtu možností zobrazením viacerých možností používateľovi ako prepínacích tlačidiel. Všeobecná syntax je:

w = CheckButton(master, option=value) 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu tohto widgetu. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * master = Tk() var1 = IntVar() Checkbutton(master, text='male', variable=var1).grid(row=0, sticky=W) var2 = IntVar() Checkbutton(master, text='female', variable=var2).grid(row=1, sticky=W) mainloop() 

Výkon



5. Tlačítko na Rádiu

Používa sa na to, aby používateľovi ponúkla možnosť výberu z viacerých možností. Používateľovi ponúka niekoľko možností a používateľ si musí vybrať jednu možnosť. Všeobecná syntax je:

w = RadioButton(master, option=value) 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu tohto widgetu. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * root = Tk() v = IntVar() Radiobutton(root, text='GfG', variable=v, value=1).pack(anchor=W) Radiobutton(root, text='MIT', variable=v, value=2).pack(anchor=W) mainloop() 

Výkon

6. Zoznam

Používateľovi ponúka zoznam, z ktorého môže používateľ prijať ľubovoľný počet možností. Všeobecná syntax je:

w = Listbox(master, option=value) master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * top = Tk() Lb = Listbox(top) Lb.insert(1, 'Python') Lb.insert(2, 'Java') Lb.insert(3, 'C++') Lb.insert(4, 'Any other') Lb.pack() top.mainloop() 

Výkon


7. Posuvník

Vzťahuje sa na posuvný ovládač, ktorý sa použije na implementáciu uvedených widgetov. Všeobecná syntax je:

w = Scrollbar(master, option=value) master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * root = Tk() scrollbar = Scrollbar(root) scrollbar.pack(side=RIGHT, fill=Y) mylist = Listbox(root, yscrollcommand=scrollbar.set) for line in range(100): mylist.insert(END, 'This is line number' + str(line)) mylist.pack(side=LEFT, fill=BOTH) scrollbar.config(command=mylist.yview) mainloop() 

Výkon

8. Ponuka

Používa sa na vytváranie všetkých druhov ponúk používaných aplikáciou. Všeobecná syntax je:

w = Menu(master, option=value) master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu tohto widgetu. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * root = Tk() menu = Menu(root) root.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label='File', menu=filemenu) filemenu.add_command(label='New') filemenu.add_command(label='Open...') filemenu.add_separator() filemenu.add_command(label='Exit', command=root.quit) helpmenu = Menu(menu) menu.add_cascade(label='Help', menu=helpmenu) helpmenu.add_command(label='About') mainloop() 

Výkon

9. Combobox

Widget Combobox je vytvorený pomocou triedy ttk.Combobox z modulu tkinter.ttk. Hodnoty pre Combobox sú špecifikované pomocou parametra values. Predvolená hodnota sa nastaví pomocou metódy nastavenia. Funkcia obsluhy udalosti on_select je naviazaná na Combobox pomocou metódy väzby, ktorá aktualizuje štítok s vybratou položkou vždy, keď je vybratá položka.

Python3
import tkinter as tk from tkinter import ttk def on_select(event): selected_item = combo_box.get() label.config(text='Selected Item: ' + selected_item) root = tk.Tk() root.title('Combobox Example') # Create a label label = tk.Label(root, text='Selected Item: ') label.pack(pady=10) # Create a Combobox widget combo_box = ttk.Combobox(root, values=['Option 1', 'Option 2', 'Option 3']) combo_box.pack(pady=5) # Set default value combo_box.set('Option 1') # Bind event to selection combo_box.bind(' <>', on_select) root.mainloop() 

Výkon

obrázok2

10. Mierka

Používa sa na poskytnutie grafického posúvača, ktorý umožňuje vybrať ľubovoľnú hodnotu z tejto stupnice. Všeobecná syntax je:

w = Scale(master, option=value)master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * master = Tk() w = Scale(master, from_=0, to=42) w.pack() w = Scale(master, from_=0, to=200, orient=HORIZONTAL) w.pack() mainloop() 

Výkon

jedenásť. Najvyššia úroveň

Tento widget je priamo ovládaný správcom okien. Na fungovanie nepotrebuje žiadne nadradené okno. Všeobecná syntax je:

w = TopLevel(master, option=value) 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * root = Tk() root.title('GfG') top = Toplevel() top.title('Python') top.mainloop() 

Výkon

12. Správa

Vzťahuje sa na viacriadkový a neupraviteľný text. Funguje rovnako ako Label. Všeobecná syntax je:

w = Message(master, option=value) master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * main = Tk() ourMessage = 'This is our Message' messageVar = Message(main, text=ourMessage) messageVar.config(bg='lightgreen') messageVar.pack() main.mainloop() 

Výkon

13. Tlačidlo Menu

Je súčasťou horného menu, ktoré zostáva v okne stále. Každé tlačidlo ponuky má svoju vlastnú funkciu. Všeobecná syntax je:

w = MenuButton(master, option=value) master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * top = Tk() mb = Menubutton ( top, text = 'GfG') mb.grid() mb.menu = Menu ( mb, tearoff = 0 ) mb['menu'] = mb.menu cVar = IntVar() aVar = IntVar() mb.menu.add_checkbutton ( label ='Contact', variable = cVar ) mb.menu.add_checkbutton ( label = 'About', variable = aVar ) mb.pack() top.mainloop() 

Výkon

14. Ukazateľ postupu

Aplikácia Tkinter s widgetom Progressbar a tlačidlom na spustenie postupu. Po kliknutí na tlačidlo sa indikátor priebehu za krátky čas zaplní na 100 %, čím sa simuluje úloha, ktorej dokončenie si vyžaduje čas.

Python3
import tkinter as tk from tkinter import ttk import time def start_progress(): progress.start() # Simulate a task that takes time to complete for i in range(101): # Simulate some work time.sleep(0.05) progress['value'] = i # Update the GUI root.update_idletasks() progress.stop() root = tk.Tk() root.title('Progressbar Example') # Create a progressbar widget progress = ttk.Progressbar(root, orient='horizontal', length=300, mode='determinate') progress.pack(pady=20) # Button to start progress start_button = tk.Button(root, text='Start Progress', command=start_progress) start_button.pack(pady=10) root.mainloop() 

Výkon

pokrok

pätnásť. SpinBox

Je to položka miniaplikácie „Entry“. Tu je možné zadať hodnotu výberom pevnej hodnoty čísel. Všeobecná syntax je:

w = SpinBox(master, option=value) 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * master = Tk() w = Spinbox(master, from_=0, to=10) w.pack() mainloop() 

Výkon:

16. Text

Ak chcete upraviť viacriadkový text a formátovať tak, ako sa má zobraziť. Všeobecná syntax je:

w =Text(master, option=value) 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu textu. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * root = Tk() T = Text(root, height=2, width=30) T.pack() T.insert(END, 'techcodeview.com
BEST WEBSITE
') mainloop() 

Výkon

17. Plátno

Používa sa na kreslenie obrázkov a iných zložitých rozložení, ako je grafika, text a widgety. Všeobecná syntax je:

w = Canvas(master, option=value) master is the parameter used to represent the parent window. 

Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * master = Tk() w = Canvas(master, width=40, height=60) w.pack() canvas_height=20 canvas_width=200 y = int(canvas_height / 2) w.create_line(0, y, canvas_width, y ) mainloop() 

Výstup

18. PannedWindow

Je to kontajnerový widget, ktorý sa používa na spracovanie množstva tabúľ v ňom usporiadaných. Všeobecná syntax je:

w = PannedWindow(master, option=value) 

Master je parameter používaný na reprezentáciu nadradeného okna. Existuje množstvo možností, ktoré sa používajú na zmenu formátu miniaplikácie. Počet možností je možné zadať ako parametre oddelené čiarkami. Niektoré z nich sú uvedené nižšie.

Python3
from tkinter import * m1 = PanedWindow() m1.pack(fill=BOTH, expand=1) left = Entry(m1, bd=5) m1.add(left) m2 = PanedWindow(m1, orient=VERTICAL) m1.add(m2) top = Scale(m2, orient=HORIZONTAL) m2.add(top) mainloop() 

Výkon

Možnosť farieb v Tkinter

Tento príklad demonštruje použitie rôznych farebných možností vo widgetoch Tkinter, vrátane aktívnych farieb pozadia a popredia, farieb pozadia a popredia, farieb zakázaných stavov a farieb výberu. Každá miniaplikácia v príklade zobrazuje inú farebnú možnosť a poskytuje vizuálnu reprezentáciu toho, ako tieto možnosti ovplyvňujú vzhľad miniaplikácií.

Python3
import tkinter as tk root = tk.Tk() root.title('Color Options in Tkinter') # Create a button with active background and foreground colors button = tk.Button(root, text='Click Me', activebackground='blue', activeforeground='white') button.pack() # Create a label with background and foreground colors label = tk.Label(root, text='Hello, Tkinter!', bg='lightgray', fg='black') label.pack() # Create an Entry widget with selection colors entry = tk.Entry(root, selectbackground='lightblue', selectforeground='black') entry.pack() root.mainloop() 

Výkon

2024-04-2516-50-47online-video-cuttercom-ezgifcom-konvertor videa na gif

Prečítajte si viac o zlepšení písma: Písmo Tkinter

Správa geometrie

Tkinter tiež ponúka prístup ku geometrickej konfigurácii widgetov, ktoré môžu organizovať widgety v nadradených oknách. Existujú hlavne tri triedy manažérov geometrie.

metóda pack().

Pred umiestnením do nadradeného miniaplikácie organizuje widgety do blokov.

Python3
import tkinter as tk root = tk.Tk() root.title('Pack Example') # Create three buttons button1 = tk.Button(root, text='Button 1') button2 = tk.Button(root, text='Button 2') button3 = tk.Button(root, text='Button 3') # Pack the buttons vertically button1.pack() button2.pack() button3.pack() root.mainloop() 

Výkon


balenie

metóda grid().

Usporiada widgety do mriežky (štruktúra podobná tabuľke) pred umiestnením do nadradeného widgetu.

Python3
import tkinter as tk root = tk.Tk() root.title('Grid Example') # Create three labels label1 = tk.Label(root, text='Label 1') label2 = tk.Label(root, text='Label 2') label3 = tk.Label(root, text='Label 3') # Grid the labels in a 2x2 grid label1.grid(row=0, column=0) label2.grid(row=0, column=1) label3.grid(row=1, column=0, columnspan=2) root.mainloop() 

Výkon

mriežka

metóda place().

Organizuje widgety tak, že ich umiestňuje na konkrétne pozície, ktoré riadi programátor.

Python3
import tkinter as tk root = tk.Tk() root.title('Place Example') # Create a label label = tk.Label(root, text='Label') # Place the label at specific coordinates label.place(x=50, y=50) root.mainloop() 

Výkon

miesto





Najlepšie Články

Kategórie

Zaujímavé Články