Alustage Pythonis töölauarakenduste loomist Tkinteri GUI -kogu abil

Alustage Pythonis töölauarakenduste loomist Tkinteri GUI -kogu abil

Tkinter on graafilise kasutajaliidese (GUI) tööriistakomplekt, mida peaksite proovima, kui soovite uurida Pythoni jõudu töölauarakenduste loomisel.





Siin vaatame Tkinteri GUI mooduli põhitõdesid.





parimad tasuta vr -rakendused androidile

Tkinteri seadistamine

Tavaliselt ei pea te installima tkinter eraldi, kui olete installinud Pythoni hilisema versiooni, alustades Python 3. Teek ei pruugi siiski Pythoni vanade versioonidega töötada. See on Maci ja Linuxi kasutajate jaoks tavaline probleem, kuna tavaliselt on need OS -id vaikimisi kaasas vanemate Pythoni versioonidega.



Üldiselt kasutada tkinter veenduge, et laadite alla ja installite ametnikult oma arvutisse uusima ühilduva Pythoni versiooni python.org veebisait.

Kui kasutate Maci, saate alla laadida ka ActiveTcl uusima versiooni, a tkinter koostaja ActiveState .



Kuidas Tkinterit kasutada

Tkinter sõltub selle sisseehitusest TK klassi. Ja see koondab kõik graafilise kasutajaliidese sündmused a mainloop . Seega, mainloop ümbris teeb sinu tkinter käivitatav kood.

Alustuseks tkinter :





from tkinter import Tk
Tk().mainloop()

Ülaltoodud koodi käivitamine tühjendab tühja koha tkinter raami.

Tkinteri kohandamisfunktsioonid on aga sisseehitatud vidinates.





Nende vidinate kasutamiseks saate need importida tkinter asendades tkinteri impordist Tk koos:

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

Akna suurust saate reguleerida ka nupuga geomeetria funktsiooni ja seejärel määrake pealkirja abil tiitel vidin tkinter :

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

Tkinteri siltide vidin

Tkinter võimaldab kirjutada lihtteksti otse graafilisse kasutajaliidesesse, kasutades Silt vidin:

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

The ruudustik () meetod on aga alternatiiv pakk () meetod. See kleebib teie vidinad graafilise kasutajaliidese külge, muutes need nähtavaks.

Samuti saate oma fondile määrata fondi Silt tekst:

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

Tkinteri nupuvidinatega töötamine

Nupud on ühed enim kasutatud vidinad tkinter . Ja saate neid klõpsatavaid nuppe GUI-sse lisada, kasutades erinevaid sisseehitatud nupuvahendeid.

Siin on, kuidas lisada oma GUI -le esmane nupp, kasutades Nupp vidin:

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

The bg ja fg märksõnad kirjeldavad vastavalt nupu taustavärvi ja selles oleva teksti värvi.

Samuti saate reguleerida nupu mõõtmeid, lisades kõrgus ja laius parameetrid:

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

Siin on väljund selle jaoks:

aknad stoppkood halb süsteemi konfiguratsiooniteave

Ja kui soovite muuta nuppu visuaalselt atraktiivsemaks, võite lisada a kergendus märksõna ja seejärel kohandage selle äärise laiust:

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

Ja see näeb välja selline:

Asenda KÕRVATUD koos FLAT et näha, kuidas see läbi tuleb.

Saate lisada nii palju nuppe kui soovite. Kuid olge ettevaatlik, et vältida sisu kattumist.

Kattuvuse vältimiseks saate iga nupu jaoks määrata rea ​​ja veeru asukoha.

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

Valikuline käsk märksõna aga lisab sündmusele Nupp vidin. Sisuliselt ankurdab see valikulise funktsiooni, mis käsitleb teatud sündmusi, kui klõpsate nuppu.

Näiteks allolev kood korrutab iga nupu väärtuse klõpsamisel 6 -ga. Ja see põhineb eelnevalt määratletud funktsioonil:

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

Ülaltoodud koodis nupuvajutus tegeleb korrutussündmusega. The Nupp seejärel osutab vidin sellele sündmuste käitlejale, kasutades anonüümset lambda funktsiooni.

Ja kui olete mures selle pärast ,. padjad märksõna, eraldab see selgelt kõik nupud reas. Selle asendamine padx eraldab veerus olevad nupud. Ja võite mõlemat märksõna samaaegselt kasutada, et eraldada nupud mõlema telje vahel vastavalt soovile.

See tähendab, et te ei soovi iga nupu jaoks ratast leiutada, nagu tegite eelmises koodis. See aeglustab täitmise aega, lisaks raskendab teie koodi lugemist ja kitsendamist.

Aga saate kasutage silmuse jaoks selle kordamise vältimiseks.

Siin on ülaltoodud koodi lühem ja parem versioon:

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

Uurime edasi võimsust eest silmus menüünuppude lisamiseks GUI -le:

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

Kontrolli nuppude lisamine GUI -le on samuti üsna lihtne:

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

Võite selle kontrollnupu julgelt korrutada, kasutades eest silmus, nagu me varem tegime.

Kuidas luua rippmenüüd Tkinteri menüü vidinaga

The Menüü vidin võimaldab teil kujundada klõpsatavaid rippmenüüsid tkinter .

Nagu varem öeldud, tkinter pakub palju vidinate valikuid. Ja mõnda neist kasutate rippmenüü kujundamisel.

Siin on mõned levinumad vidinate valikud, millega rippmenüü tegemisel kokku puutute.

  • add_cascade: See kuvab menüüsildi ja kleebib selle sinna, kuhu see kuulub.
  • add_separator: See piiritleb alammenüüd ja rühmitab need ülemiste ja alumiste alammenüüde hulka.
  • add_command: Siin saate oma alammenüüle nime anda. Lõppkokkuvõttes aktsepteerib see käsu argumenti, kus saate määrata sündmuste käitleja.

Siin on rippmenüü näide, mis kasutab neid kolme võimalust:

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

Vaadake, kuidas see välja näeb:

Tkinteri suvandite menüü

An Valikumenüü , erinevalt Menüü rippmenüüst, lülitab sildi valitud suvandile.

Kuigi saate suvandite menüüle määrata sildi vaikeväärtuse, pole sellel vaikimisi silti.

Seotud: Algajatele sobivad Pythoni projektiideed

Siit saate teada, kuidas luua menüü Valikud 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()

Ehitage Tkinteriga korduvkasutatav töölauarakendus

Tkinter pakub hulgaliselt funktsioone, mis aitavad teil luua interaktiivseid GUI töölauarakendusi. Kuigi sellel ei pruugi olla palju paindlikke kaunistamisfunktsioone, nagu mõnel teisel Pythoni GUI -moodulil, on see siiski mugav tööriist, mida tasub uurida. Ja kuigi siinsed näited näitavad vaid mõningaid põhitõdesid, tkinter pakub rohkem funktsioone, mida saate proovida.

kas saate filme vaadata Nintendo lülitiga

Sellegipoolest saate oma varude haldamiseks luua GUI töölaua kalkulaatori, teha väikese tekstiredaktori või isegi luua GUI töölauarakenduse. Kui soovite oma tiibu sirutada ja saada töölaua GUI -põhiks, saate vaadata isegi teisi Pythoni GUI -mooduleid.

Jaga Jaga Piiksuma E -post GUI? Mis on graafiline kasutajaliides?

Kas kasutate GUI -d? Võimalus on teil, sest kasutate neid iga päev.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Python
Autori kohta Idisou Omisola(Avaldatud 94 artiklit)

Idowu on kirglik kõige nutika tehnoloogia ja tootlikkuse vastu. Vabal ajal mängib ta kodeerimisega ja lülitab malelauale, kui tal on igav, kuid talle meeldib ka aeg -ajalt rutiinist lahti saada. Tema kirg näidata inimestele teed kaasaegses tehnoloogias motiveerib teda rohkem kirjutama.

Veel Idowu Omisolast

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin