Qortora · Search · Indexed page

et.wikipedia.orgFetched 2026-08-17T12:43:38Z

Tkinter – Vikipeedia

Tkinter – Vikipeedia Mine sisu juurde Peamenüü Peamenüü vii külgpaanile peida Navigeerimine Esileht Juhuslik lehekülg Viimased muudatused Üldine arutelu Erileheküljed Juhend Kontakt Otsing Otsi Ilme Anneta Loo konto Logi sisse Isiklikud lehed Anneta Loo konto Logi sisse…

Open original source · Full cached text

Tkinter – Vikipeedia Mine sisu juurde Peamenüü Peamenüü vii külgpaanile peida Navigeerimine Esileht Juhuslik lehekülg Viimased muudatused Üldine arutelu Erileheküljed Juhend Kontakt Otsing Otsi Ilme Anneta Loo konto Logi sisse Isiklikud lehed Anneta Loo konto Logi sisse Sisukord vii külgpaanile peida Algus 1 Tööpõhimõte 2 Tkinteriga seotud definitsioonid Lülita ümber alaosa "Tkinteriga seotud definitsioonid" 2.1 Vidinad (Widgets) 2.2 Mikserid (Mixins) 2.2.1 Rakendusmikserid 2.2.2 Geomeetrilised mikserid 3 Tkinteri rakendamine programmides Lülita ümber alaosa "Tkinteri rakendamine programmides" 3.1 Vidinate rakendamise protsess 4 Viited 5 Välislingid Lülita sisukord ümber Tkinter 22 keelt العربية বাংলা Català Čeština Deutsch English Esperanto Español فارسی Français עברית Bahasa Indonesia Italiano 日本語 한국어 Polski Português Русский Српски / srpski Türkçe Українська 中文 Muuda linke Lisa teema Artikkel Arutelu eesti Vaata Muuda Muuda lähteteksti Näita ajalugu Tööriistad Tööriistad vii külgpaanile peida Toimingud Vaata Muuda Muuda lähteteksti Lisa teema Näita ajalugu Üldine Lingid siia Seotud muudatused Püsilink Lehekülje teave Viita leheküljele Hangi lühendatud URL Lülitu vanale parserile Trüki või ekspordi Koosta raamat Laadi alla PDF-failina Prinditav versioon Teistes projektides Abstract Wikipedia Commons Andmeüksus Ilme vii külgpaanile peida Allikas: Vikipeedia See artikkel ootab keeletoimetamist. (Märts 2020) Kui oskad, siis palun aita artiklit keeleliselt parandada. (Kuidas ja millal see märkus eemaldada?) See artikkel vajab toimetamist. (Mai 2022) Palun aita artiklit toimetada. (Kuidas ja millal see märkus eemaldada?) Moodul tkinter (koos alammooduliga tkinter.tkk) on graafiliste kasutajaliideste loomise vahend, mis kuulub programmeerimiskeele Pythoni standardvarustusse. Tkinter moodulid põhinevad laialt levinud teegil nimega Tk, mida kasutatakse ka teistes programmeerimiskeeltes.[1] Tkinteri töötas välja Fredrik Lundh ja Scriptics.[2] Nimi Tkinter tuleneb väljendist Tk interface. Tkinter on vaikimisi kaasatud Pythoni Linuxi, Microsoft Windowsi ja Mac OS X-i installipakettidesse. Lisaks tkinterile on olemas ka teisi alternatiivselt populaarseid graafilise kasutajaliidese teeke, nagu näiteks wxPython, PyQt (PySide), Pygame, Pyglet, ja PyGTK. Tööpõhimõte [muuda | muuda lähteteksti] Sarnaselt teiste tänapäevaste Tk köidetega rakendatakse Tkinter Pythoni pakendina (Pyhton wrapper) Pythoni tõlki (Python intrepeter) manustatud Tcl-tõlgi ümber. Tkinteri kutsungid tõlgitakse Tcl käskudeks, mis saadetakse sissehitatud Tcl tõlki. See muudab võimalikuks Pyhtoni ja Tcl-i kasutamise samas rakenduses. Python 2.7 ja Python 3.1 sisaldavad ka Tk 8.5-st pärit stiliseeritud TK ("themed Tk" / "ttk") funktsionaalsust. [3] Selle funktsionaalsusega saab Tk vidinatele vähese vaevaga rakendada rakendust ümbritseva operatsioonisüsteemile omaseid stiilielemente. Tkinteriga seotud definitsioonid [muuda | muuda lähteteksti] Tkinteri osad saab jagada järgmistesse klassidesse: Vidinad Konteinerid Nupud Tekstividinad Sisestusvidinad Mikserid Rakendusmikserid Geomeetrilised mikserid Vidinad (Widgets) [muuda | muuda lähteteksti] Aken (Window) Sellel terminil on kontekstist sõltuvalt erinevaid tähendusi, kuid üldiselt viitab see ristkülikukujulisele alale kasutaja ekraanil, mida saab kasutada programmidega suhtlemiseks. Eraldiseisev aken (Top Level Window), on aken, mis eksisteerib ekraanil teistest akendest iseseisvalt. Sellel on standardsed operatsioonisüsteemile stiilikohased juhtnupud ja raam. Seda saab mööda töölauda ringi liigutada ja enamasti saab ka selle suurust muuta. Raam (Frame) Raam on peamine vidinate organiseerimismeetod tkinteris. Raami all mõeldakse vidinat, mis hõlmab ristkülikukujulist ala. Raam võib omakorda sisaldada teisi vidinaid. Sisuliselt raam üksinda on ainult n.ö tühi aken, millesse ei ole paigutatud ühtegi vidinat. Vidin (Widget) Vidinateks nimetatakse üldist terminit nn ehitusplokkide kohta, millest rakenduse graafiline kasutajaliides koosneb. Tkinter toetab 18 põhilist vidinat.[4] Konteinerid – raam (frame); eraldiseisev aken (toplevel); raamistikuga aken (paned window). Nupud – tavaline nupp (button), ühe valikvastusega nupp (radiobutton), mitme valikvastusega nupp (checkbutton/ checkbox), rippmenüü (menubutton/ combobox). Tekstividinad – tekstikast (label), kommentaariga tekstikast (labelframe) tekstikast hüpikaknas (messagebox). Sisestusvidinad – mõõtkava (scale), kerimine (scroll), loendikast (listbox), liugurvalik (slider), vahemikvalik (spinbox), üherealine tekstisisestus (entry), mitmerealine tekstisisestus (text), ning vektor- ja pikselgraafikaks mõeldud canvas.[4] Kuuluvussuhe (Child and parent relationship) – hetkest, kui vidin luuakse, määratakse automaatselt talle ka kohe kuuluvussuhe. Näiteks kui lisada tekstikast raami sisse, siis on raam tekstikasti ülem ja tekstikast raami alam. Mikserid (Mixins) [muuda | muuda lähteteksti] Tkinteri moodulis on lisaks vidinatele eraldi abiklass, mida nimetatakse mikseriteks. Mikser on klass, mis on loodud kasutamiseks teiste klassidega koos, kasutades mitmikkuuluvussuhet. Mikerklass ei ole mõeldud iseseisvaks kasutamiseks. Rakendusmikserid [muuda | muuda lähteteksti] Misc klassi kasutatakse juurakna (root window) ja tavaliste vidinate poolt. Misc mikseri tagab ligipääsu Tk mooduli ja aknaga (window) seotud teenustele. Wm klassi kasutatakse juurakna ja toplevel akna vidinaklasside poolt. Wm mikseriga saab ligipääsu peamistele aknahalduri võimalustele.[4] Geomeetrilised mikserid [muuda | muuda lähteteksti] Tavaline paigutus (Place) Tavaline paigutus paigutab vidina koordinaatidega määratud kohta. Vajalik sisestada soovitavad koordinaadid. Ruudustikmeetod (Grid) Ruudustikmeetodiga paigutatakse elemente tabeli põhimõttel. Vajalik sisestada soovitav rida ja veerg. Pakkimismeetod (Pack) Pakkimismeetodiga paigutatakse elemendid järjest nende ülemraami, käsitledes neid lihtsalt kui ristkülikukujulisi kaste. Pole vaja midagi sisestada.[4] Tkinteri rakendamine programmides [muuda | muuda lähteteksti] Vidinate rakendamise protsess [muuda | muuda lähteteksti] Vidinatega tegelemisel on enamasti neli faasi: 1) Loomine (Create) Vidina loomine mingis raamistikus ja sellele tunnuse omistamine. 3) Paigutamine (Pack) Vidina raamistikku paigutamine, et see oleks rakenduse käivitades kasutajale nähtav. 2) Seadistamine (Configure) Vidina atribuutidele väärtuste omistamine. 4) Sidumine (Bind) Vidina sidumine mingi funktsiooni või sündmusega (event). [5] Allpool on näiteks toodud üks Python 3 Tkinteri programm, milles on kasutatud kolme vidinat (label, button ja entry). Programmi eesmärk on küsida kasutajalt sisendina tema nimi ja siis kasutajat selle nimega tervitada. [1] (Python 2 puhul peab mooduli importimisel sõna "tkinter" puhul kasutama esisuurtähte – "Tkinter".) from tkinter import * from tkinter import ttk from tkinter import messagebox # See funktsioon käivitatakse nupule klõpsamisel def tervita(): tervitus = 'Tere ' + nimi.get() messagebox.showinfo(message=tervitus) # Loome akna raam = Tk() raam.title("Tervitaja") # Loome tekstikasti jaoks sildi silt = ttk.Label(raam, text="Nimi") # Paigutame sildi ruudustiku ülemisse vasakusse lahtrisse (column ja row). # Soovime, et sildi ümber jääks igas suunas 5 pikslit vaba ruumi (padx ja pady). silt.place(x=5, y=5) # Loome tekstikasti nimi = ttk.Entry(raam) nimi.place(x=70, y=5, width=150) # loome nupu nupp = ttk.Button(raam, text="Tervita!", command=tervita) nupp.place(x=70, y=40, width=150) # Kuvame akna ekraanile. raam.mainloop() rida 1 – esimene import-lause teeb kättesaadavaks tkinter-i põhivahendid, teine import teeb kättesaadavaks platvormi stiiliga kasutajaliidese vidinad. rida 6 – funktsioon tervita on mõeldud käivitamiseks nupu klõpsamise korral. Funktsiooni kehas küsitakse allpool defineeritud tekstikasti sisu (nimi.get()), moodustatakse selle põhjal tervitusega sõne ning näidatakse seda kasutajale väikses lisaaknas. (Selles funktsioonis oleme kasutanud ühte globaalset muutujat – nimi pole ei funktsiooni parameeter ega lokaalne muutuja, vaid funktsioonist väljaspool defineeritud muutuja.) rida 11 – Tk() loob akna, millele järgmisel real määratakse pealkiri ja ülejärgmisel real mõõtmed (pikslites). Järgnevalt luuakse 3 kasutajaliidese komponenti e vidinat (ingl widget). rida 15 – ttk.Label loob ühe sildi (s.o vidina teksti näitamiseks). Funktsiooni esimene argument näitab, et kasutaja soovib seda silti kasutada eespool loodud aknas. Kasutades nimelist argumenti text, annab kasutaja sellele sildile ka soovitud teksti. Käsk silt.place(...) paigutas loodud sildi soovitud koordinaatidele (ühikuteks on pikslid, punkt (0,0) paikneb akna sisuosa ülemises vasakus nurgas ning koordinaadid kasvavad paremale/alla liikudes). rida 22 – järgmine plokk loob ja seab paika tekstisisestuskasti (ttk.Entry). Selle paigutamisel näidatakse ära ka soovitud laius. rida 26 – nupu (ttk.Button) loomisel määrati argumendiga command ära, mida tuleb teha nupu klõpsamise korral. Argumendi väärtuseks on ainult funktsiooni nimi, mitte funktsiooni väljakutse (see oleks olnud koos tühjade sulgudega). Põhjus on selles, et eesmärk ei ole funktsiooni käivitada mitte nupu loomise ajal, vaid siis, kui nuppu klõpsatakse. rida 30 – viimaks käivitatakse lause raam.mainloop(),mis kuvab loodud akna ekraanile ja jääb ootama kasutaja tegevusi.[1] Viited [muuda | muuda lähteteksti] 1 2 3 "TÜ Arvutiteaduse instituudi programmeerimise algkursuse õpik". progeopik.cs.ut.ee. Vaadatud 19.12.2019.{{cite web}}: CS1 hooldus: url-olek (link) ↑ Lundh, Fredrik (28.11.2017), What's Tkinter?, effbot.org, originaali arhiivikoopia seisuga 24.12.2013, vaadatud 20.12.2019 ↑ "Python issue #2983, "Ttk support for Tkinter"". 1 2 3 4 Fredrik Lungh. "Tkinter Classes - widget classes". Originaali arhiivikoopia seisuga 20.12.2019. Vaadatud 19.12.2019. ↑ Klein, Bernd. "GUI Programming with Python: Events and Binds". www.python-course.eu. Vaadatud 20.12.2019. Välislingid [muuda | muuda lähteteksti] TÜ Arvutiteaduse instituudi programmeerimise algkursuse õpik, Aivar Annamaa TkInter, Python Wiki Lundh, Fredrik (1999), An Introduction to Tkinter Pärit leheküljelt "https://et.wikipedia.org/w/index.php?title=Tkinter&oldid=6683240" Kategooriad: Programmeerimine Graafilised kasutajaliidesed Peidetud kategooriad: Keeletoimetamist ootavad (märts 2020) Keeletoimetamist ootavad Toimetamist ootavad (mai 2022) Toimetamist ootavad CS1 hooldus: url-olek Selle lehekülje viimane muutmine: 13. juuli 2024, kell 16:47. Lehekülg viimistleti Parsoidiga. Tekst on kasutatav vastavalt Creative Commonsi litsentsile "Autorile viitamine + jagamine samadel tingimustel"; sellele võivad lisanduda täiendavad tingimused. Täpsemalt vaata Wikimedia kasutamistingimustest. Andmekaitsepõhimõtted Tiitelandmed Lahtiütlused Õigus- ja ohutuskontaktid Käitumisjuhis Arendajad Arvandmed Küpsiste avaldus Mobiilivaade Otsing Otsi Lülita sisukord ümber Tkinter 22 keelt Lisa teema