„Tkinter“ yra grafinės vartotojo sąsajos (GUI) įrankių rinkinys, kurį turėtumėte išbandyti, jei norite ištirti „Python“ galią kuriant darbalaukio programas.
Čia apžvelgsime „Tkinter“ GUI modulio pagrindus.
„Tkinter“ sąranka
Paprastai nereikia diegti tkinter atskirai, jei įdiegėte vėlesnę „Python“ versiją, pradedant „Python 3“. Vis dėlto biblioteka gali neveikti su senomis „Python“ versijomis. Tai yra įprasta „Mac“ ir „Linux“ vartotojų problema, nes šios operacinės sistemos pagal numatytuosius nustatymus paprastai pateikiamos su senesnėmis „Python“ versijomis.
Paprastai norint naudoti tkinter modulį, įsitikinkite, kad oficialiai atsisiųsite ir įdiegsite naujausią suderinamą „Python“ versiją į savo kompiuterį python.org Interneto svetainė.
Jei naudojate „Mac“, galite atsisiųsti naujausią „ActiveTcl“ versiją, a tkinter sudarytojas iš „ActiveState“.
Kaip naudotis „Tkinter“
„Tkinter“ priklauso nuo jo įmontuoto TK klasė. Ir visus įvykius, esančius GUI, apjungia a mainloop. Taigi, mainloop vyniotinis daro jūsų tkinter kodas vykdomas.
Norėdami pradėti tkinter:
iš tkinterio importo Tk
Tk (). Mainloop ()
Vykdant aukščiau esantį kodą, tuščia vieta sukasi tkinter rėmas.
Tačiau „Tkinter“ pritaikymo funkcijos yra jos įmontuotuose valdikliuose.
Norėdami naudoti šiuos valdiklius, galite juos importuoti iš tkinter pakeisdamas iš tkinterio importo Tk su:
iš tkinter importo *
t = Tk ()
t.mainloop ()
Taip pat galite reguliuoti lango dydį naudodami geometrija funkciją ir nurodykite pavadinimą naudodami pavadinimas valdiklis tkinter:
t = Tk ()
t.geometrija („600x600“)
t.title („Tk pamoka“)
t.mainloop ()
„Tkinter“ leidžia rašyti paprastus tekstus tiesiai į GUI naudojant Etiketė valdiklis:
t = Tk ()
Etiketė (t, text = "MUO Tkinter tutorial"). Tinklelis ()
t.mainloop ()
tinklelis () metodas vis dėlto yra alternatyva paketas() metodas. Tai prilipdo jūsų valdiklius prie GUI, kad jie būtų matomi.
Taip pat galite nurodyti savo šriftą Etiketė tekstas:
t = Tk ()
Etiketė (t, text = "MUO Tkinter tutorial", font = (60)). Grid ()
t.mainloop ()
Mygtukai yra vieni iš dažniausiai naudojamų valdiklių tkinter. Šiuos spustelėjamus mygtukus galite pridėti prie savo GUI naudodami įvairius įmontuotus mygtukų valdiklius.
Štai kaip pridėti pagrindinį mygtuką prie savo GUI naudojant Mygtukas valdiklis:
t = Tk ()
Mygtukas (t, text = "Spustelėjamas", bg = "juodas", fg = "baltas"). Tinklelis ()
t.mainloop ()
bg ir fg raktiniai žodžiai apibūdina mygtuko fono spalvą ir jame esančio teksto spalvą.
Taip pat galite pakoreguoti mygtuko matmenis įtraukdami ūgio ir plotis parametrai:
t = Tk ()
Mygtukas (t, text = "Spustelėjamas", bg = "juodas", fg = "baltas", aukštis = "2", plotis = "10"). Tinklelis ()
t.mainloop ()
Štai išvestis tam:
Ir jei norite, kad mygtukas taptų patrauklesnis, galite įtraukti palengvėjimas raktinį žodį ir tada pakoreguokite jo kraštinės plotį:
t = Tk ()
Mygtukas (t, text = "Spustelėjamas", bg = "mėlynas", fg = "baltas",
aukštis = 2, plotis = 10, reljefas = IŠKELTAS, krašto plotis = 6). tinklelis ()
t.mainloop ()
Ir tai atrodo taip:
Pakeiskite IŠKELTAS su BUTAS pamatyti, kaip tai ateis.
Galite pridėti tiek mygtukų, kiek norite. Tačiau būkite atsargūs, kad išvengtumėte turinio sutapimo.
Norėdami išvengti sutapimo, galite nurodyti kiekvieno mygtuko eilutės ir stulpelio padėtį:
t = Tk ()
Mygtukas (t, tekstas = 1, bg = "juodas", fg = "baltas"). Tinklelis (eilutė = 1, stulpelis = 1)
Mygtukas (t, tekstas = 2, bg = "juodas", fg = "baltas"). Tinklelis (eilutė = 2, stulpelis = 1)
Mygtukas (t, tekstas = 3, bg = "juodas", fg = "baltas"). Tinklelis (eilutė = 3, stulpelis = 1)
Mygtukas (t, tekstas = 4, bg = "juodas", fg = "baltas"). Tinklelis (eilutė = 4, stulpelis = 1)
t.mainloop ()
Neprivaloma komandą Tačiau raktinis žodis prideda įvykius prie Mygtukas valdikliui. Iš esmės, ji įtvirtina papildomą funkciją, kuri valdo tam tikrus įvykius, kai spustelite mygtuką.
Pavyzdžiui, žemiau pateiktas kodas kiekvieno mygtuko vertę padaugina iš 6, kai jį spustelite. Ir tai pagrįsta iš anksto nustatyta funkcija:
def mygtuko paspaudimas (r):
r = 6 * r
Etiketė (t, text = r, font = (60)). Tinklelis (eilutė = 5, stulpelis = 2)
t = Tk ()
Mygtukas (t, tekstas = 1, bg = "juodas", fg = "baltas", plotis = 10, aukštis = 2,
komanda = lambda: mygtuko paspaudimas (1)). tinklelis (eilutė = 1, stulpelis = 1, plytelė = 6)
Mygtukas (t, tekstas = 2, bg = "juodas", fg = "baltas", plotis = 10,
komanda = lambda: mygtuko paspaudimas (2)). tinklelis (eilutė = 2, stulpelis = 1, plytelė = 6)
Mygtukas (t, tekstas = 3, bg = "juodas", fg = "baltas", plotis = 10,
komanda = lambda: mygtuko paspaudimas (3)). tinklelis (eilutė = 3, stulpelis = 1, plytelė = 6)
Mygtukas (t, tekstas = 4, bg = "juodas", fg = "baltas", plotis = 10,
komanda = lambda: mygtuko paspaudimas (4)). tinklelis (eilutė = 4, stulpelis = 1, plytelė = 6)
t.mainloop ()
Pirmiau pateiktame kode mygtuko paspaudimas tvarko daugybos įvykį. Mygtukas Valdiklis tada nurodo tą įvykių tvarkytuvą naudodamas anoniminę lambda funkcija.
Ir jei jūs nerimaujate dėl padas raktinis žodis, jis aiškiai atskiria kiekvieną eilutės mygtuką. Pakeičiant tai padx atskiria mygtukus stulpelyje. Ir jūs galite naudoti abu raktinius žodžius vienu metu, norėdami atskirti mygtukus abiejose ašyse.
Be to, jūs nenorite išradinėti kiekvieno mygtuko rato, kaip tai darėte ankstesniame kode. Tai sulėtina vykdymo laiką, be to, jūsų kodas sunkiai įskaitomas ir susiaurėja.
Bet tu gali naudokite kilpą kad būtų išvengta šio pasikartojimo.
Taigi čia yra trumpesnė ir geresnė aukščiau nurodyto kodo versija:
def mygtuko paspaudimas (r):
r = 6 * r
Etiketė (t, text = r, font = (60)). Tinklelis (eilutė = 5, stulpelis = 2)
t = Tk ()
a = [1, 4, 6, 7]
man i:
j = lambda y = i: mygtuko paspaudimas (y)
Mygtukas (t, text = i, bg = "juodas", fg = "baltas", plotis = 10, aukštis = 2,
komanda = j). tinklelis (eilutė = i, stulpelis = 1, plytelė = 6)
t.mainloop ()
Meniu mygtukai ir tikrinimo mygtukai
Toliau panagrinėkime dėl ciklas, kad pridėtumėte meniu mygtukus prie savo GUI:
iš tkinter importo *
t = Tk ()
mygtukai = ["Failai", "Informacijos suvestinė", "Meniu", "Nustatymai", "Pagalba"]
m = 0
i diapazone (len (mygtukai)):
# Gaukite kiekvieną tekstą mygtukų masyve naudodami sąrašo rodyklę, kai m didėja.
# Tada leiskite stulpeliui padidėti 1 per masyvo ilgį:
Meniu mygtukas (t, tekstas = mygtukai [m], bg = "mėlynas", fg = "baltas"). Tinklelis (eilutė = 5, stulpelis = i)
m + = 1
t.mainloop ()
Taip pat gana paprasta pridėti tikrinimo mygtukus prie savo GUI:
t = Tk ()
Patikrinimo mygtukas (t, text = "Pasirinkti parinktį"). Tinklelis ()
t.mainloop ()
Nedvejodami padauginkite tą patikrinimo mygtuką naudodami dėl kilpa, kaip mes darėme anksčiau.
Meniu Valdiklis leidžia jums sukurti spustelėjamus išskleidžiamuosius meniu tkinter.
Kaip minėta anksčiau, tkinter siūlo daug valdiklių parinkčių. Kai kuriuos iš jų naudosite kurdami išskleidžiamąjį meniu.
Štai keletas įprastų valdiklių parinkčių, su kuriomis susidursite atlikdami išskleidžiamąjį meniu:
- add_cascade: Tai rodo meniu etiketę ir užklijuoja ją ten, kur ji priklauso.
- add_separator: Jis išskiria submeniu ir sugrupuoja juos į viršutinį ir apatinį meniu.
- add_command: Čia jūs suteikiate savo submeniu pavadinimą. Galiausiai jis priima komandos argumentą, kuriame galite nurodyti įvykių tvarkytuvą.
Pateikiame išskleidžiamojo pavyzdžio pavyzdį, kuriame naudojamos šios trys parinktys:
iš tkinter importo *
t = Tk ()
fileOptions = ["Naujas", "atidarytas", "Išsaugoti", "Išsaugoti kaip"]
fileOptionsAfterseparator = ["Importuoti", "Eksportuoti", "Išeiti"]
viewOptions = ["Transformuoti", "Redaguoti", "Kurti"]
meniu juosta = meniu (t)
failas = meniu (meniu juosta, nuplėšimas = 0)
i faile „FileOptions“:
file.add_command (etiketė = i, komanda = nėra)
file.add_separator ()
i faile fileOptionsAfterseparator:
file.add_command (etiketė = i, komanda = nėra)
menuBar.add_cascade (label = "File", menu = file)
Rodinys = meniu (meniu juosta, nuplėšimas = 0)
i „view“ parinktys:
View.add_command (etiketė = i, komanda = nėra)
menuBar.add_cascade (label = "View", menu = View)
t.config (meniu = meniu juosta)
t.mainloop ()
Pažiūrėkite, kaip tai atrodo:
„Tkinter“ parinkčių meniu
An Parinkčių meniu, skirtingai nuo Meniu išskleidžiamajame meniu pakeičia jo etiketę į pasirinktą parinktį.
Nors parinkčių meniu galite nurodyti numatytąją etiketės vertę, pagal numatytuosius nustatymus etiketės nėra.
Susijęs: „Python“ projekto idėjos, tinkamos pradedantiesiems
Štai kaip sukurti parinkčių meniu tkinter:
t = Tk ()
Omenu = StringVar () # nustatyti kintamąjį parinkčių tipą
„Omenu.set“ („MUO“) #specify numatytąją meniu piktogramos vertę
„OptionMenu“ (t, Omenu, „MUO“, „Amazon“, „Tutorial“). Tinklelis ()
t.mainloop ()
Sukurkite daugkartinio naudojimo darbalaukio programą naudodami „Tkinter“
„Tkinter“ siūlo daugybę funkcijų, kurios padeda kurti interaktyvias GUI darbalaukio programas. Nors tai gali neturėti daug lanksčių pagražinimo funkcijų, tokių kaip kai kurie kiti „Python“ GUI moduliai, tai vis tiek yra patogus įrankis, kurį verta ištirti. Nors pavyzdžiai čia rodo tik kai kurias pagrindines sąvokas, tkinter siūlo pažangesnes funkcijas, kurias galite išbandyti.
Be to, galite sukurti GUI darbalaukio skaičiuoklę, sukurti mini teksto redaktorių ar net sukurti GUI darbalaukio programą, kad galėtumėte tvarkyti savo atsargas. Jei norite išskleisti sparnus ir tapti darbalaukio GUI pagrindiniu, galite net patikrinti kitus „Python“ GUI modulius.
Ar naudojatės GUI? Tikėtina, kad turite, nes juos naudojate kiekvieną dieną.
Skaitykite toliau
- Programavimas
- „Python“
Idowu yra aistringas dėl bet kokių protingų technologijų ir produktyvumo. Laisvalaikiu jis žaidžia koduodamas ir nuobodžiaudamas persijungia į šachmatų lentą, tačiau taip pat mėgsta kartkartėmis atitrūkti nuo rutinos. Aistra parodyti žmonėms kelią aplink šiuolaikines technologijas skatina daugiau rašyti.
Užsiprenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!
Norėdami užsiprenumeruoti, spustelėkite čia