Tkinter on graafisen käyttöliittymän (GUI) työkalupakki, jonka kannattaa kokeilla, jos haluat tutkia Pythonin voimaa työpöytäsovellusten luomisessa.

Tässä tarkastellaan Tkinter GUI -moduulin perusteita.

Tkinter-asetukset

Yleensä sinun ei tarvitse asentaa tkinter erikseen, jos olet asentanut uudemman Python-version, alkaen Python 3: sta. Kirjasto ei kuitenkaan välttämättä toimi vanhojen Python-versioiden kanssa. Tämä on yleinen ongelma Mac- ja Linux-käyttäjille, koska näissä käyttöjärjestelmissä on yleensä oletusarvoisesti vanhemmat Python-versiot.

Yleensä käyttää tkinter moduuli, varmista, että lataat ja asennat uusimman yhteensopivan Python-version tietokoneellesi viralliselta python.org verkkosivusto.

Jos käytät Macia, voit vaihtoehtoisesti ladata ActiveTcl: n uusimman version a tkinter kääntäjä ActiveState.

Kuinka käyttää Tkinteriä

Tkinter riippuu sisäänrakennetusta TK luokassa. Ja se kiteyttää kaikki graafisen käyttöliittymän tapahtumat a Mainloop. Siten Mainloop kääre tekee sinun tkinter koodi suoritettava.

instagram viewer

Aloita tkinter:

tkinter-tuonnista Tk
Tk (). Pääkanta ()

Yllä olevan koodin suorittaminen pyörittää tyhjää tkinter runko.

Tkinterin mukautusominaisuudet ovat kuitenkin sen sisäänrakennetuissa widgeteissä.

Voit käyttää näitä widgettejä tuomalla ne tkinter korvaamalla tkinter-tuonnista Tk kanssa:

tkinter-tuonnista *
t = Tk ()
t.pohjanen ()

Voit myös säätää ikkunan kokoa geometria ja määritä sitten otsikko käyttämällä otsikko widget tkinter:

t = Tk ()
t.geometria ("600x600")
t.title ("Tk-opas")
t.pohjanen ()

Tkinter antaa sinun kirjoittaa tavallisia tekstejä suoraan käyttöliittymään käyttämällä Tarra widget:

t = Tk ()
Tunniste (t, text = "MUO Tkinter tutorial"). Ruudukko ()
t.pohjanen ()

ruudukko () menetelmä on kuitenkin vaihtoehto pakkaus() menetelmä. Se kiinnittää widgetit graafiseen käyttöliittymään, jolloin ne näkyvät.

Voit myös määrittää fontin omalle Tarra teksti:

t = Tk ()
Tunniste (t, text = "MUO Tkinter tutorial", font = (60)). Ruudukko ()
t.pohjanen ()

Painikkeet ovat joitain eniten käytettyjä widgettejä tkinter. Ja voit lisätä nämä napsautettavat painikkeet käyttöliittymään useilla sisäänrakennetuilla painikkeilla.

Näin voit lisätä ensisijaisen painikkeen käyttöliittymään käyttämällä Painike widget:

t = Tk ()
Painike (t, teksti = "Napsautettava", bg = "musta", fg = "valkoinen"). Ruudukko ()
t.pohjanen ()

bg ja fg avainsanat kuvaavat painikkeen taustaväriä ja vastaavasti siinä olevan tekstin väriä.

Voit myös säätää painikkeen kokoa sisällyttämällä korkeus ja leveys parametrit:

t = Tk ()
Painike (t, teksti = "Napsautettava", bg = "musta", fg = "valkoinen", korkeus = "2", leveys = "10"). Ruudukko ()
t.pohjanen ()

Tässä on tuotos tälle:

Ja jos haluat tehdä painikkeesta houkuttelevamman, voit lisätä helpotus avainsana ja säädä sen reunan leveys:

t = Tk ()
Painike (t, teksti = "Napsautettava", bg = "sininen", fg = "valkoinen",
korkeus = 2, leveys = 10, helpotus = NOSTETTU, reunaleveys = 6). ruudukko ()
t.pohjanen ()

Ja se näyttää tältä:

Korvata KASVATETTU kanssa Tasainen nähdä miten se tapahtuu.

Voit lisätä niin monta painiketta kuin haluat. Vältä kuitenkin sisällön päällekkäisyyttä.

Päällekkäisyyksien välttämiseksi voit määrittää kullekin painikkeelle rivin ja sarakkeen sijainnin:

t = Tk ()
Painike (t, teksti = 1, bg = "musta", fg = "valkoinen"). Ruudukko (rivi = 1, sarake = 1)
Painike (t, teksti = 2, bg = "musta", fg = "valkoinen"). Ruudukko (rivi = 2, sarake = 1)
Painike (t, teksti = 3, bg = "musta", fg = "valkoinen"). Ruudukko (rivi = 3, sarake = 1)
Painike (t, teksti = 4, bg = "musta", fg = "valkoinen"). Ruudukko (rivi = 4, sarake = 1)
t.pohjanen ()

Valinnainen komento avainsana lisää kuitenkin tapahtumia Painike widget. Pohjimmiltaan se ankkuroi valinnaisen toiminnon, joka käsittelee tiettyjä tapahtumia, kun napsautat painiketta.

Esimerkiksi alla oleva koodi kertoo kunkin painikkeen arvon kuudella, kun napsautat sitä. Ja se perustuu ennalta määritettyyn toimintoon:

def-painike (r):
r = 6 * r
Tunniste (t, text = r, font = (60)). Ruudukko (rivi = 5, sarake = 2)
t = Tk ()
Painike (t, teksti = 1, bg = "musta", fg = "valkoinen", leveys = 10, korkeus = 2,
komento = lambda: painike (1)). ruudukko (rivi = 1, sarake = 1, pady = 6)
Painike (t, teksti = 2, bg = "musta", fg = "valkoinen", leveys = 10,
komento = lambda: painike (2)). ruudukko (rivi = 2, sarake = 1, pady = 6)
Painike (t, teksti = 3, bg = "musta", fg = "valkoinen", leveys = 10,
komento = lambda: painike (3)). ruudukko (rivi = 3, sarake = 1, pady = 6)
Painike (t, teksti = 4, bg = "musta", fg = "valkoinen", leveys = 10,
komento = lambda: painike (4)). ruudukko (rivi = 4, sarake = 1, pady = 6)
t.pohjanen ()

Yllä olevassa koodissa painike käsittelee kertolasku. Painike widget osoittaa sitten tapahtumankäsittelijään tuntemattoman avulla lambda toiminto.

Ja jos olet huolissasi pady avainsana, se erottaa selvästi kaikki painikkeet rivillä. Korvataan tämä padx erottaa painikkeet sarakkeen yli. Ja voit käyttää molempia avainsanoja samanaikaisesti erottaaksesi painikkeet molempien akselien välillä haluamallasi tavalla.

Tästä huolimatta et halua keksiä pyörää uudelleen jokaiselle painikkeelle, kuten teit edellisessä koodissa. Tämä hidastaa suoritusaikaa, ja se tekee koodistasi vaikea lukea ja supistaa.

Mutta sinä voit käytä silmukkaa välttää tätä toistoa.

Joten tässä on lyhyempi ja parempi versio yllä olevasta koodista:

def-painike (r):
r = 6 * r
Tunniste (t, text = r, font = (60)). Ruudukko (rivi = 5, sarake = 2)
t = Tk ()
a = [1, 4, 6, 7]
i: lle:
j = lambda y = i: painike (y)
Painike (t, teksti = i, bg = "musta", fg = "valkoinen", leveys = 10, korkeus = 2,
komento = j) .grid (rivi = i, sarake = 1, pady = 6)
t.pohjanen ()

Valikkopainikkeet ja tarkistuspainikkeet

Tutkitaan edelleen voimaa varten silmukka lisätäksesi valikkopainikkeet käyttöliittymään:

tkinter-tuonnista *
t = Tk ()
painikkeet = ["Tiedostot", "Hallintapaneeli", "Valikko", "Asetukset", "Ohje"]
m = 0
i: lle alueella (len (painikkeet)):
# Hae kukin painikeryhmän teksti luetteloluettelosta, kun m kasvaa.
# Anna sitten sarakkeen kasvaa yhdellä matriisin pituudella:

Valikkopainike (t, teksti = painikkeet [m], bg = "sininen", fg = "valkoinen"). Ruudukko (rivi = 5, sarake = i)
m + = 1
t.pohjanen ()

Myös tarkistuspainikkeiden lisääminen käyttöliittymään on melko helppoa:

t = Tk ()
Tarkistuspainike (t, teksti = "Valitse vaihtoehto"). Ruudukko ()
t.pohjanen ()

Voit vapaasti kertoa kyseisen tarkistuspainikkeen käyttämällä varten silmukka, kuten teimme aiemmin.

Valikko widgetin avulla voit suunnitella napsautettavia pudotusvalikkoja tkinter.

Kuten aiemmin todettiin, tkinter tarjoaa monia widget-vaihtoehtoja. Ja käytät joitain niistä suunnitellessasi avattavaa valikkoa.

Tässä on joitain yleisimpiä widgettivaihtoehtoja, joita kohtaat tehdessäsi pudotusvalikkoa:

  • add_cascade: Se näyttää valikkotarran ja kiinnittää sen mihin se kuuluu.
  • add_separator: Se rajaa alavalikot ja ryhmitelee ne ylempiin ja alempiin alavalikoihin.
  • add_command: Täällä annat alivalikolle nimen. Viime kädessä se hyväksyy komentoargumentin, jossa voit määrittää tapahtumankäsittelijän.

Tässä on avattava esimerkki, joka käyttää näitä kolmea vaihtoehtoa:

tkinter-tuonnista *
t = Tk ()
fileOptions = ["Uusi", "avoin", "Tallenna", "Tallenna nimellä"]
fileOptionsAfterseparator = ["Tuo", "Vie", "Poistu"]
viewOptions = ["Muunna", "Muokkaa", "Luo"]
menuBar = Valikko (t)
tiedosto = Valikko (valikkopalkki, repäisy = 0)
i: lle tiedostossa Vaihtoehdot:
file.add_command (tunniste = i, komento = ei mitään)
file.add_separator ()
i: lle tiedostossa FileOptionsAfterseparator:
file.add_command (tunniste = i, komento = ei mitään)
menuBar.add_cascade (tunniste = "Tiedosto", valikko = tiedosto)
Näkymä = Valikko (valikkopalkki, repäisy = 0)
i: lle näkymässä Vaihtoehdot:
View.add_command (tunniste = i, komento = ei mitään)
menuBar.add_cascade (tunniste = "Näytä", valikko = Näytä)
t.config (menu = menuBar)
t.pohjanen ()

Katso miltä se näyttää:

Tkinter-valikko

An Vaihtoehtovalikko, toisin kuin Valikko avattavasta valikosta, vaihtaa tarran valittuun vaihtoehtoon.

Vaikka voit määrittää oletusarvo asetusvalikossa, sillä ei ole oletusarvoisesti tarraa.

Liittyvät: Python-projektiideat sopivat aloittelijoille

Näin luodaan asetusvalikko tkinter:

t = Tk ()
Omenu = StringVar () # aseta vaihtoehtojen muuttujatyyppi
Omenu.set ("MUO") #specify oletusarvo valikkokuvaketta
OptionMenu (t, Omenu, "MUO", "Amazon", "Tutorial"). Ruudukko ()
t.pohjanen ()

Rakenna uudelleenkäytettävä työpöytäsovellus Tkinterin avulla

Tkinter tarjoaa joukon ominaisuuksia, joiden avulla voit tehdä vuorovaikutteisia käyttöliittymäsovelluksia. Vaikka sillä ei ehkä ole monia joustavia kaunistavia ominaisuuksia, kuten jotkut muut Python-käyttöliittymämoduulit, se on silti kätevä työkalu, joka kannattaa tutkia. Ja vaikka tässä olevat esimerkit esittävät vain joitain peruskäsitteitä, tkinter tarjoaa kehittyneempiä ominaisuuksia, joita voit kokeilla.

Siitä huolimatta voit rakentaa GUI-työpöydän laskimen, tehdä pienen tekstieditorin tai jopa luoda GUI-työpöytäsovelluksen varastojesi hallintaan. Jos haluat levittää siipesi ja tulla työpöydän GUI-pääaineeksi, voit jopa tarkistaa muita Pythonin GUI-moduuleja.

Sähköposti
GUI? Mikä on graafinen käyttöliittymä?

Käytätkö graafista käyttöliittymää? Mahdollisuudet sinulla on, koska käytät niitä joka ikinen päivä.

Lue seuraava

Liittyvät aiheet
  • Ohjelmointi
  • Python
Kirjailijasta
Idowu Omisola (88 artikkelia julkaistu)

Idowu on intohimoisesti kaikesta älykkäästä tekniikasta ja tuottavuudesta. Vapaa-aikanaan hän leikkii koodauksella ja vaihtaa shakkilaudalle, kun hän on tylsistynyt, mutta rakastaa myös irtautumista rutiinista silloin tällöin. Hänen intohimonsa osoittaa ihmisille tien ympäri nykytekniikkaa motivoi häntä kirjoittamaan enemmän.

Lisää Idowu Omisolasta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja erikoistarjouksia!

Tilaa napsauttamalla tätä