Tkinter
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 18. maaliskuuta 2017 tarkistetusta
versiosta . tarkastukset vaativat
20 muokkausta .
Tkinter ( englanniksi Tk interface ) on monikäyttöinen tapahtumaohjattu grafiikkakirjasto, joka perustuu Tk -työkaluihin (joita on laajalti levitetty GNU / Linuxin ja muiden UNIX -tyyppisten järjestelmien maailmassa, myös siirretty Microsoft Windowsiin ), kirjoittanut Steen Lumholt (Steen Lumholt) ja Guido van Rossum [1] . Sisältyy Python - standardikirjastoon .
Tkinter on ilmainen ohjelmisto , jota jaetaan Python
- lisenssillä [2] .
Tapaaminen
Kirjasto on suunniteltu järjestämään ohjelman dialogeja ikkunallisen graafisen käyttöliittymän ( GUI ) avulla.
Kirjasto sisältää yleisiä graafisia komponentteja:
- Toplevel/Tk - Ylätason ikkuna (juuriwidget).
- Kehys - kehys. Sisältää muita visuaalisia komponentteja, joita käytetään widgetien ryhmittelyyn.
- Etiketti - etiketti. Näyttää tekstiä tai grafiikkaa.
- Merkintä - Yksirivinen tekstinsyöttökenttä.
- Teksti – muotoiltu tekstinsyöttökenttä. Voit näyttää, muokata ja muotoilla tekstiä eri tyyleillä sekä upottaa kuvia ja ikkunoita tekstiin.
- Canvas - Kanvas. Voidaan käyttää graafisten primitiivien, kuten suorakulmioiden, ellipsien, viivojen, sekä tekstin, kuvien ja ikkunoiden näyttämiseen.
- -painiketta Yksinkertainen painike komennon ja muiden toimien suorittamiseen.
- Radiopainike - kytkin. Edustaa yhtä vaihtoehtoisista arvoista jollekin muuttujalle. Toimii yleensä ryhmässä. Kun käyttäjä valitsee vaihtoehdon, aiemmin valitun kohteen valinta samasta ryhmästä poistetaan.
- Valintapainike - valintaruutu. Samanlainen kuin Radiopainike, mutta useilla valintaominaisuuksilla, joka tarjoaa erillisen muuttujan kullekin widget-esiintymälle.
- Asteikko — Skaalaa liukusäätimellä. Voit asettaa numeerisen arvon siirtämällä liukusäädintä.
- Listbox - Luettelo. Näyttää luettelon, josta käyttäjä voi valita yhden tai useamman kohteen.
- Vierityspalkki - Vierityspalkki. Voidaan käyttää yhdessä joidenkin muiden komponenttien kanssa niiden vierittämiseen.
- Valikko - Valikko. Palvelee ponnahdusvalikoiden (ponnahdus) ja pudotusvalikoiden järjestämiseen.
- Valikkopainike - Valikkopainike. Käytetään alasvetovalikon järjestämiseen.
- Viesti - Viesti. Samanlainen kuin Label, mutta voit rivittää pitkiä viivoja ja muuttaa kokoa helposti.
- OptionMenu
- Spinbox
- LabelFrame
- PanedWindow
On myös huomattava, että Pythonilla on joukko lisätyökaluja seuraavissa moduuleissa:
- Kangas
- Dialogi
- FileDialog
- KorjaaTk
- vieritetty teksti
- yksinkertainen valintaikkuna
- Tix
- Tkconstants
- Tkdnd
- tkColorChooser
- tkCommonDialog
- tkFileDialog
- tkFont
- tkMessageBox
- tkSimpleDialog
- kilpikonna
Esimerkki: Hello World -ohjelma
tkinter importista * _
juuri = Tk ()
juuri . otsikko ( "Hei maailma!" )
juuri . geometria ( '300x40' )
def button_clicked ():
tulosta ( "Hei maailma!" )
defclose ( ):
juuri . tuhota ()
juuri . lopeta ()
painike = Painike ( root , teksti = "Paina minua" , komento = button_clicked )
-painiketta . pakkaus ( täytä = MOLEMMAT )
juuri . protokolla ( 'WM_DELETE_WINDOW' , sulje )
juuri . pääsilmukka ()
Ohjelman jäsentäminen
Yllä oleva esimerkki osoittaa Pythonin yksinkertaisimman GUI-sovelluksen. Ohjelman ensimmäinen rivi tuo tkinter-moduulin (ennen Python-kielen versiota 3.1 tkinter-moduulin nimi kirjoitettiin koodilla isolla kirjaimella - "Tkinter"):
tkinter importista * _
Ohjelman nimiavaruudessa (skriptissä) tuonnin seurauksena Tkinteriin on sisäänrakennettu nimiä, joihin pääsee suoraan. On huomattava, että nimien joukkotuonti voi johtaa niiden ristiriitaan. Lisäksi kestää kauemmin, ennen kuin tulkki löytää oikean nimen käytettävissä olevien nimien luettelosta.
Seuraava komento luo ohjelman juuri-ikkunan (jäljempänä ikkuna):
juuri = Tk ()
Seuraava komento muuttaa ikkunan otsikon:
juuri . otsikko ( "Hei maailma!" )
Seuraava komento asettaa ikkunan mitat:
juuri . geometria ( '300x40' )
Seuraava on toimintokäsittelijän määritelmä "hiiripainiketta painettuna" -tapahtumalle.
def button_clicked ():
print ( "Hei maailma!" )
Tapahtuman "pääikkunan sulkeminen" funktiokäsittelijä. Se pysäyttää sovelluksen pääsilmukan ja tuhoaa pääikkunan. Ilman sitä ohjelma voidaan sulkea vain, jos Python-tulkkiprosessi lopetetaan. Koska funktio käyttää globaalia muuttujaa root, itse funktion ilmoituksen tulee tulla juurimuuttujan ilmoituksen jälkeen.
def close ():
juuri . tuhota ()
juuri . lopeta ()
Luo painike, jossa on teksti "Paina minua" ja sido se yllä määriteltyyn käsittelijätoimintoon:
painike = Painike ( root , teksti = "Paina minua" , komento = button_clicked )
"Pakkaamme" luodun painikkeen käyttämällä pakkausasettelun hallintaa. fill=BOTH (myös fill="molemmat") käskee painiketta ottamaan kaiken käytettävissä olevan tilan (leveys ja korkeus) pääjuuriwidgetissä:
-painiketta . pakkaus ( täytä = MOLEMMAT )
Sido pääikkunan sulkemistapahtuma Sulje käsittelijä -toiminnolla:
juuri . protokolla ( 'WM_DELETE_WINDOW' , sulje )
Aloitamme sovelluksen pääsilmukan:
juuri . pääsilmukka ()
Painikkeen painamisen seurauksena konsoliin tulee viesti "Hei, maailma!". Viesti tulee näkyviin joka kerta, kun painiketta painetaan.
Katso myös
Muistiinpanot
- ↑ Matt Conway, Tkinter Life Preserver Arkistoitu 31. toukokuuta 2016 Wayback Machinessa
- ↑ Tkinterin yleiskatsaus arkistoitu 13. marraskuuta 2013. (Englanti)
Kirjallisuus
- John E Grayson. Python- ja Tkinter-ohjelmointi. - Manning Publications, 1999. - 658 s. — ISBN 9781884777813 .
- Suzi R.A. Sovellusten luominen graafisella käyttöliittymällä // Python-ohjelmointikieli: opetusohjelma. - M . : Intuit, Binom. Knowledge Laboratory, 2006. - 328 s. — ISBN 5-9556-0058-2 .
Linkit
GUI-elementtien työkalupakkit (sarjat) . |
---|
matalatasoinen _ |
- Xlib
- Macintosh Toolbox / Carbon
- Windows API
- luontaiset ominaisuudet
- Intuitio
|
---|
korkea taso | Amiga OS |
|
---|
MacOS ja macOS |
- Kaakao
- macapp
- MacZoop
- Voimalaitos
|
---|
Windows |
|
---|
UNIX , alle X |
|
---|
Monitasoinen _ _
| Flash-pohjainen |
|
---|
Perustuu XML-, AJAX- tai SVG -muotoon |
|
---|
Perustuu Javaan |
|
---|
Perustuu C tai C++ |
|
---|
Perustuu Common Lisp |
|
---|
Perustuu Pascaliin |
|
---|
Perustuu Pythoniin |
|
---|
Perustuu Objective-C:hen |
|
---|
|
---|
|
---|
Python |
---|
Yhteisö |
|
---|
Toteutukset |
|
---|
Muut |
|
---|