Začnite ustvarjati namizne aplikacije v Pythonu s knjižnico grafičnega vmesnika Tkinter

Začnite ustvarjati namizne aplikacije v Pythonu s knjižnico grafičnega vmesnika Tkinter

Tkinter je komplet orodij za grafični uporabniški vmesnik (GUI), ki ga morate preizkusiti, če želite raziskati moč Pythona pri ustvarjanju namiznih aplikacij.





Tu si oglejmo osnove modula Tkinter GUI.





kako izboljšati delovanje iger na prenosnem računalniku

Nastavitev Tkinterja

Običajno vam ni treba namestiti tkinter ločeno, če ste namestili novejšo različico Pythona, začenši s Pythonom 3. Vendar knjižnica morda ne deluje s starimi različicami Pythona. To je pogosta težava za uporabnike Mac in Linux, saj ti OS običajno privzeto prihajajo s starejšimi različicami Pythona.





Na splošno za uporabo tkinter modul, prenesite in namestite najnovejšo združljivo različico Pythona na svoj računalnik od uradnega python.org Spletna stran.

Če uporabljate Mac, lahko prenesete tudi najnovejšo različico programa ActiveTcl, a tkinter prevajalnik iz ActiveState .



Kako uporabljati Tkinter

Tkinter je odvisen od vgrajenega TK razred. In vse dogodke znotraj grafičnega vmesnika zaokroži v a mainloop . Tako je mainloop ovoj naredi tvoje tkinter izvršljiva koda.

Za začetek tkinter :





from tkinter import Tk
Tk().mainloop()

Z zagonom zgornje kode se vrti prazno tkinter okvir.

Značilnosti prilagajanja Tkinterja pa so v vgrajenih pripomočkih.





Če želite uporabljati te pripomočke, jih lahko uvozite iz tkinter z zamenjavo iz tkinterja uvoz Tk z:

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

Velikost okna lahko prilagodite tudi z geometrije funkcijo in nato s tipko naslov pripomoček za tkinter :

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

Pripomoček za oznako Tkinter

Tkinter omogoča pisanje navadnih besedil neposredno v grafični vmesnik z uporabo Oznaka pripomoček:

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

The mreža() metoda pa je alternativa paket () metoda. Svoje pripomočke prilepi v grafični vmesnik, zaradi česar so vidni.

Določite lahko tudi pisavo za svojo Oznaka besedilo:

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

Delo s pripomočki gumbov v Tkinterju

Gumbi so nekateri izmed najbolj uporabljenih pripomočkov v tkinter . Te gumbe, ki jih je mogoče klikniti, lahko dodate v svoj grafični vmesnik z različnimi vgrajenimi pripomočki za gumbe.

Evo, kako dodati primarni gumb v svoj grafični vmesnik z uporabo Gumb pripomoček:

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

The bg in fg ključne besede opisujejo barvo ozadja gumba in barvo besedila v njem.

Velikost gumba lahko prilagodite tudi tako, da vključite višina in premer parametri:

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

Tukaj je rezultat za to:

kako dobiti wifi brez interneta

Če želite gumb narediti bolj vizualno privlačen, lahko vključite datoteko olajšanje ključno besedo in nato prilagodite njeno širino obrobe:

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

In to izgleda takole:

Zamenjati VZGOJENO z STANOVANJE da vidim, kako to pride skozi.

Dodate lahko poljubno število gumbov. Vendar pazite, da se izognete prekrivanju vsebine.

Da bi se izognili prekrivanju, lahko za vsak gumb določite položaj vrstice in stolpca:

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

Izbirno ukaz ključna beseda pa doda dogodke v Gumb pripomoček. V bistvu zasidra izbirno funkcijo, ki ob pritisku na gumb obravnava določene dogodke.

Spodnja koda na primer pomnoži vrednost vsakega gumba s 6, ko ga kliknete. Temelji na vnaprej določeni funkciji:

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

V zgornji kodi je pritisk na gumb obravnava dogodek množenja. The Gumb widget nato z anonimnim kazalcem pokaže na upravljavec dogodkov lambda funkcijo.

In če vas skrbi blazinice ključno besedo, ločuje vsak gumb v vrstici. To zamenjajte z padx ločuje gumbe po stolpcu. Obe ključni besedi lahko uporabite hkrati za ločevanje gumbov na obeh osih, kot želite.

Vendar pa ne želite znova izumiti kolesa za vsak gumb, kot ste to storili v prejšnji kodi. To upočasni čas izvajanja, poleg tega pa otežuje branje in zožitev kode.

Lahko pa uporabite zanko for da bi se izognili temu ponavljanju.

Torej, tukaj je krajša in boljša različica zgornje kode:

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

Raziščimo še moč za zanka za dodajanje gumbov menija v vaš grafični vmesnik:

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

Dodajanje gumbov za preverjanje v vaš grafični vmesnik je prav tako preprosto:

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

Ta gumb za preverjanje pomnožite s tipko za zanko, kot smo to storili prej.

Kako ustvariti spustni meni s pripomočkom Tkinterjev meni

The Meni widget omogoča oblikovanje spustnih menijev, ki jih je mogoče klikniti tkinter .

Kot smo že omenili, tkinter ponuja številne možnosti gradnikov. Nekatere od njih boste uporabili pri oblikovanju spustnega menija.

Tu je nekaj pogostih možnosti pripomočkov, na katere boste naleteli med spuščanjem:

  • add_cascade: Prikaže oznako menija in jo prilepi tja, kamor spada.
  • add_separator: Razmejuje podmenije in jih združuje v zgornje in spodnje podmenije.
  • add_command: Tu podmeniju daste ime. Na koncu sprejme ukazni argument, kjer lahko podate upravljalnik dogodkov.

Tu je primer spustnega seznama, ki uporablja te 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()

Poglejte, kako to izgleda:

Meni možnosti Tkinter

An Meni možnosti , za razliko od Meni spustni meni, preklopi oznako na izbrano možnost.

Čeprav lahko za meni z možnostmi določite privzeto vrednost oznake, ta privzeto nima oznake.

Povezano: Ideje za Python projekt primerne za začetnike

Tukaj je opisano, kako v meniju ustvarite meni z možnostmi 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()

Ustvarite namizno aplikacijo za večkratno uporabo s Tkinterjem

Tkinter ponuja vrsto funkcij, ki vam pomagajo pri ustvarjanju interaktivnih namiznih aplikacij z grafičnim vmesnikom. Čeprav morda nima veliko prilagodljivih funkcij polepšanja, kot so nekateri drugi moduli grafičnega vmesnika Python, je še vedno priročno orodje, ki ga je vredno raziskati. Medtem ko primeri tukaj prikazujejo le nekaj osnovnih konceptov, tkinter ponuja naprednejše funkcije, ki jih lahko preizkusite.

kako prenesti velike datoteke iz maca v računalnik

Kljub temu lahko zgradite namizni kalkulator z grafičnim vmesnikom, naredite mini urejevalnik besedil ali celo ustvarite namizno aplikacijo z grafičnim vmesnikom za upravljanje zalog. Če želite razširiti krila in postati glavni namizni grafični vmesnik, si lahko ogledate tudi druge module grafičnega vmesnika Python.

Deliti Deliti Cvrkutati E-naslov GUI? Kaj je grafični uporabniški vmesnik?

Ali uporabljate grafični vmesnik? Verjetnosti imate, ker jih uporabljate vsak dan.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Python
O avtorju Idisou Omisola(94 objavljenih člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se igra s kodiranjem in se, ko mu je dolgčas, preklopi na šahovsko tablo, rad pa se občasno tudi odmika od rutine. Njegova strast, da ljudem pokaže pot okoli sodobne tehnologije, ga motivira, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti