Začnite vytvárať aplikácie pre stolné počítače v Pythone pomocou knižnice GUI Tkinter

Začnite vytvárať aplikácie pre stolné počítače v Pythone pomocou knižnice GUI Tkinter

Tkinter je sada nástrojov pre grafické používateľské rozhranie (GUI), ktorú by ste mali vyskúšať, ak chcete preskúmať silu Pythonu pri vytváraní aplikácií pre stolné počítače.





Tu sa pozrieme na základy modulu GUI Tkinter.





aká služba rozvozu jedla platí najviac

Nastavenie Tkinter

Spravidla nie je potrebné inštalovať tkinter samostatne, ak ste nainštalovali novšiu verziu Pythonu, začínajúc Pythonom 3. Knižnica však nemusí fungovať so starými verziami Pythonu. Toto je bežný problém pre používateľov počítačov Mac a Linux, pretože tieto operačné systémy sa štandardne dodávajú so staršími verziami Pythonu.





Všeobecne platí, že na použitie tkinter modulu, uistite sa, že si do počítača stiahnete a nainštalujete najnovšiu kompatibilnú verziu programu Python z oficiálneho zdroja python.org webové stránky.

Ak máte počítač Mac, môžete si alternatívne stiahnuť najnovšiu verziu programu ActiveTcl, a tkinter kompilátor z ActiveState .



Ako používať Tkinter

Tkinter závisí od jeho vstavaného TK trieda. A všetky udalosti v rámci GUI zhrňuje do a hlavná slučka . Tým, hlavná slučka zavinovačka robí vašu tkinter spustiteľný kód.

Na začiatok tkinter :





from tkinter import Tk
Tk().mainloop()

Spustenie vyššie uvedeného kódu roztočí prázdne miesto tkinter rám.

Možnosti prispôsobenia Tkinteru sú však v jeho vstavaných miniaplikáciách.





Ak chcete tieto miniaplikácie používať, môžete ich importovať z tkinter nahradením z importu tkinter Tk s:

from tkinter import *
t = Tk()
t.mainloop()

Veľkosť okna môžete tiež upraviť pomocou geometria funkciu a potom zadajte názov pomocou titul miniaplikácia z tkinter :

t = Tk()
t.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Miniaplikácia Tkinter Label

Tkinter vám umožňuje písať obyčajné texty priamo do GUI pomocou Štítok widget:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

The mriežka () metóda je však alternatívou k balenie() metóda. Prilepí vaše miniaplikácie k GUI, čím ich zviditeľní.

Môžete tiež určiť písmo pre svoje Štítok text:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

Práca s tlačidlami v Tkinteri

Tlačidlá sú jednými z najpoužívanejších miniaplikácií v tkinter . A tieto klikateľné tlačidlá môžete pridať do svojho grafického používateľského rozhrania pomocou rôznych vstavaných miniaplikácií tlačidiel.

Tu je návod, ako pridať primárne tlačidlo do grafického rozhrania pomocou Tlačidlo widget:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

The bg a fg kľúčové slová popisujú farbu pozadia tlačidla a farbu textu v ňom.

Rozmer tlačidla môžete tiež upraviť zahrnutím výška a šírka parametre:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

Tu je výstup z toho:

ako pridať hudbu k videu na iphone

A ak chcete, aby bolo tlačidlo vizuálne príťažlivejšie, môžete zahrnúť znak úľava kľúčové slovo a potom upravte jeho šírku orámovania:

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=6).grid()
t.mainloop()

A vyzerá to takto:

Vymeňte ZDVIHNUTÉ s PLOCHÝ aby ste videli, ako to prebieha.

Môžete pridať ľubovoľný počet tlačidiel. Dávajte si však pozor, aby ste sa vyhli prekrývaniu obsahu.

Aby ste sa vyhli prekrývaniu, môžete pre každé tlačidlo určiť pozíciu riadka a stĺpca:

t = Tk()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

Voliteľné príkaz kľúčové slovo však pridáva udalosti do súboru Tlačidlo widget. V podstate ukotvuje voliteľnú funkciu, ktorá spracováva určité udalosti po kliknutí na tlačidlo.

Nižšie uvedený kód napríklad vynásobí hodnotu každého tlačidla 6, keď naň kliknete. A je to založené na vopred definovanej funkcii:

def buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

Vo vyššie uvedenom kóde stlačenie tlačidla zvláda udalosť násobenia. The Tlačidlo widget potom ukazuje na tento obslužný program udalostí pomocou anonymného lambda funkciu.

A ak máte obavy z podložky kľúčové slovo, zreteľne oddeľuje každé tlačidlo v riadku. Nahradiť to za padx oddeľuje tlačidlá v stĺpci. A môžete použiť obe kľúčové slová súčasne na oddelenie tlačidiel v oboch osiach, ako si prajete.

To znamená, že nechcete znova objavovať koliesko pre každé tlačidlo, ako ste to urobili v predchádzajúcom kóde. To spomaľuje čas vykonávania a navyše sťažuje čítanie a zúženie kódu.

Ale ty možeš použite slučku for aby sa zabránilo tomuto opakovaniu.

Tu je teda kratšia a lepšia verzia vyššie uvedeného kódu:

def buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

Poďme ďalej skúmať silu pre slučka na pridanie tlačidiel ponuky do vášho GUI:

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

Pridanie kontrolných tlačidiel do vášho grafického rozhrania je tiež celkom jednoduché:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

Nebojte sa znásobiť toto začiarkavacie tlačidlo pomocou pre slučku, ako sme to urobili predtým.

Ako vytvoriť rozbaľovaciu ponuku pomocou miniaplikácie ponuky Tkinter

The Ponuka widget vám umožňuje navrhnúť rozbaľovacie ponuky, na ktoré je možné kliknúť tkinter .

Ako už bolo uvedené, tkinter ponúka veľa možností widgetu. Niektoré z nich použijete pri navrhovaní rozbaľovacej ponuky.

Tu sú niektoré z bežných možností miniaplikácií, s ktorými sa stretnete pri rozbaľovacom zozname:

  • add_cascade: Zobrazí štítok ponuky a prilepí ho tam, kam patrí.
  • add_separator: Vymedzuje submenu a zoskupuje ich do horných a dolných submenu.
  • add_command: Tu zadáte názov svojej podponuke. Nakoniec akceptuje argument príkazu, kde môžete zadať obslužnú rutinu udalosti.

Tu je rozbaľovací príklad, ktorý používa tieto tri možnosti:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.add_command(label=i, command=None)
menuBar.add_cascade(label='View', menu=View)
t.config(menu=menuBar)
t.mainloop()

Pozrite sa, ako to vyzerá:

Ponuka možností Tkinter

An Voliteľné menu , na rozdiel od Ponuka rozbaľovacom zozname, prepne jeho štítok na vybranú možnosť.

Aj keď môžete pre ponuku možností zadať predvolenú hodnotu štítka, v predvolenom nastavení nemá žiadny štítok.

Súvisiace: Nápady na projekt Python vhodné pre začiatočníkov

Tu je postup, ako vytvoriť ponuku možností v tkinter :

t = Tk()
Omenu = StringVar() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
OptionMenu(t, Omenu, 'MUO', 'Amazon', 'Tutorial').grid()
t.mainloop()

Vytvorte opakovane použiteľnú počítačovú aplikáciu s Tkinterom

Tkinter ponúka množstvo funkcií, ktoré vám pomôžu pri vytváraní interaktívnych desktopových aplikácií s grafickým rozhraním. Aj keď nemusí mať veľa flexibilných skrášľovacích funkcií ako niektoré iné moduly Python GUI, stále je to užitočný nástroj, ktorý stojí za preskúmanie. A hoci tu uvedené príklady ukazujú iba niektoré základné pojmy, tkinter ponúka pokročilejšie funkcie, ktoré môžete vyskúšať.

ako vymazať históriu vyhľadávania na Facebooku

To znamená, že môžete vytvoriť stolnú kalkulačku GUI, vytvoriť malý textový editor alebo dokonca vytvoriť počítačovú aplikáciu GUI na správu svojich zásob. Ak chcete roztiahnuť krídla a stať sa hlavným GUI pre stolné počítače, môžete sa dokonca pozrieť na ďalšie moduly GUI v jazyku Python.

zdieľam zdieľam Tweet E -mail GUI? Čo je grafické používateľské rozhranie?

Používate GUI? Je pravdepodobné, že ich máte, pretože ich používate každý deň.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Python
O autorovi Idisou Omisola(94 publikovaných článkov)

Idowu je zanietený pre čokoľvek, čo sa týka inteligentných technológií a produktivity. Vo svojom voľnom čase sa hrá s kódovaním a keď sa nudí, prejde na šachovnicu, ale tiež rád, keď sa raz za čas odtrhne od rutiny. Jeho vášeň ukazovať ľuďom cestu okolo moderných technológií ho motivuje písať viac.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber