{"id":265,"date":"2019-01-16T21:49:46","date_gmt":"2019-01-16T21:49:46","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/?post_type=chapter&#038;p=265"},"modified":"2023-12-13T12:17:45","modified_gmt":"2023-12-13T12:17:45","slug":"lihtne-kasutajaliides-easyguiga","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/chapter\/lihtne-kasutajaliides-easyguiga\/","title":{"raw":"Lihtne kasutajaliides EasyGUIga","rendered":"Lihtne kasutajaliides EasyGUIga"},"content":{"raw":"Varem kasutasime kasutajaliidese loomiseks moodulit <em>tkinter<\/em>, kuid selleks on teisigi v\u00f5imalusi. Seekord vaatame moodulit <em>easygui<\/em>, millega on kasutajaga suhtlemine lihtsam (kuigi v\u00e4hem paindlik). Mooduli nimes sisalduv l\u00fchend GUI t\u00e4histab <strong>graafilist kasutajaliidest<\/strong> (ingl <em>graphical user interface<\/em>).\r\n<h3>EasyGUI paigaldamine<\/h3>\r\n<p class=\"vspace\">Moodul <a class=\"urllink\" href=\"http:\/\/easygui.sourceforge.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">EasyGUI<\/a> ei ole osa Pythoniga vaikimisi kaasas olevatest moodulitest, seet\u00f5ttu tuleb see esmalt paigaldada. Mooduli paigaldamiseks ava Thonny ning vali Tools (T\u00f6\u00f6ristad) --&gt; Manage packages... (Halda lisapakke...) --&gt; otsida EasyGui --&gt; valida easygui --&gt; Install.<\/p>\r\n\r\n<h3>Nuppudega dialoogiaken<\/h3>\r\n<p class=\"vspace\">Esimese n\u00e4itena teeme teatega dialoogiakna:<\/p>\r\n<strong>N\u00e4iteprogramm. \u00dche nupuga dialoogiaken<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *                              # EasyGui kasutamiseks importida\r\n \r\nmsgbox(\"Minu esimene graafiline kasutajaliides!!\") # teateaken<\/pre>\r\nTulemus peaks v\u00e4lja n\u00e4gema selline:\r\n\r\n<img class=\"size-full wp-image-266 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1.png\" alt=\"\" width=\"416\" height=\"139\" \/>\r\n\r\nSageli on vaja luua rohkem kui \u00fcks nupp. J\u00e4rgmises n\u00e4ites on juba mitu nuppu:\r\n\r\n<strong>N\u00e4iteprogramm. Mitme nupuga dialoogiaken<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nnupud = [\"lihtne\",\"ok\",\"keeruline\"]\r\nvajutati = buttonbox(\"Programmeerimine on \", choices = nupud)\r\nmsgbox(\"Te arvate, et programmeerimine on \" + vajutati + \"!\")<\/pre>\r\n<p class=\"vspace\">Kui kasutaja vajutab nuppu, siis <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">buttonbox<\/code><\/code> tagastab valiku teksti, mis salvestatakse muutujasse <code>vajutati<\/code>. Kui kasutaja hoopis suleb dialoogiakna, siis tagastatakse <code>None<\/code>.<\/p>\r\n<p class=\"vspace\">N\u00fc\u00fcd k\u00fcsitakse nii:<\/p>\r\n<img class=\"size-full wp-image-267 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2.png\" alt=\"\" width=\"416\" height=\"139\" \/>\r\n\r\nSamuti n\u00e4idatakse kasutaja valikut:\r\n\r\n<img class=\"size-full wp-image-268 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3.png\" alt=\"\" width=\"416\" height=\"139\" \/>\r\n<h3>J\u00e4rjendiga dialoogiaken<\/h3>\r\n<p class=\"vspace\">Kui valikuid on v\u00e4he ja nende tekstid on l\u00fchikesed, siis on nupud heaks v\u00f5imaluseks. Pikemate tekstidega ja\/v\u00f5i suurema hulga valikute korral v\u00f5ib olla m\u00f5istlikum valik j\u00e4rjendina esitada:<\/p>\r\n<strong>N\u00e4iteprogramm. Valik j\u00e4rjendina<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nvariandid = [\"minu lemmik\",\"lihtne\",\"ok\",\"keeruline\"]\r\nvajutati = choicebox(\"Programmeerimine on \", choices = variandid)\r\nif vajutati == None:\r\n    msgbox(\"Te ei valinud midagi!\")\r\nelif vajutati == \"minu lemmik\":\r\n    msgbox(\"Programmeerimine on teie lemmik! Muidugi nii peakski olema!\")\r\nelse:\r\n    msgbox(\"Te arvate, et programmeerimine on \" + vajutati + \", hmm, v\u00e4ga huvitav!\")<\/pre>\r\nNii saame j\u00e4rgmise dialoogiakna:\r\n\r\n<img class=\"size-full wp-image-269 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4.png\" alt=\"\" width=\"1552\" height=\"579\" \/>\r\n<h3>Kasutajalt andmete k\u00fcsimine<\/h3>\r\nKasutajalt saab andmeid k\u00fcsida funktsiooni <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">enterbox<\/code><\/code> abil. Kui tahame t\u00e4isarvulist vastust, siis on sobilik kasutada funktsiooni <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">integerbox<\/code><\/code>, millele saab ette anda \u00fclemise ja alumise piiri. Kui sisestatu ei mahu piiridesse, siis k\u00fcsitakse uuesti.\r\n\r\n<strong>N\u00e4iteprogramm. Vanuse k\u00fcsimine<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nnimi = enterbox(\"Tere, kuidas on teie nimi?\")\r\nvanus = integerbox(\"Kui vana te olete?\", lowerbound = 1, upperbound = 120)\r\nif nimi == None or vanus == None or nimi == \"\":\r\n    msgbox(\"Palun sisestage andmed korrektselt!\")\r\nelse:\r\n    msgbox(\"Tere, \" + str(vanus)  + \"-aastane \" + nimi + \"!\")<\/pre>\r\nKasutajalt k\u00fcsitakse kaks k\u00fcsimust. Esimese puhul kasutatakse funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">enterbox<\/code>:\r\n\r\n<img class=\"size-full wp-image-270 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6.png\" alt=\"\" width=\"402\" height=\"166\" \/>\r\n\r\nTeise k\u00fcsimuse korral kasutatakse funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">integerbox:<\/code>\r\n\r\n<img class=\"size-full wp-image-271 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7.png\" alt=\"\" width=\"402\" height=\"166\" \/>\r\n<p class=\"vspace\">Tulemus n\u00e4idatakse <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">msgbox<\/code> abil:<\/p>\r\n<img class=\"size-full wp-image-272 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8.png\" alt=\"\" width=\"416\" height=\"139\" \/>\r\n<h3>Veel EasyGUI-st<\/h3>\r\nEasyGUI-l on veel v\u00f5imalusi, n\u00e4iteks saab <a class=\"urllink\" href=\"http:\/\/easygui.sourceforge.net\/tutorial.html#how-to-show-an-image-in-a-buttonbox\" target=\"_blank\" rel=\"noopener noreferrer\">lisada pilte<\/a>. Julgesti v\u00f5ib uurida <a class=\"urllink\" href=\"http:\/\/easygui.sourceforge.net\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">EasyGUI lehte<\/a>.\r\n<h3>Video<\/h3>\r\nVaata ka <a href=\"https:\/\/www.uttv.ee\/naita?id=24095\" target=\"_blank\" rel=\"noopener noreferrer\">kokkuv\u00f5tvat videot<\/a>.\r\n<h3>Failit\u00f6\u00f6tlus kasutajaliidesega<\/h3>\r\nL\u00f5petuseks toome paar varianti varem uuritud failit\u00f6\u00f6tluse programmidest, kus kasutame graafilist kasutajaliidest:\r\n\r\n<strong>N\u00e4iteprogramm. Faili kirjutamine koos salvestamise aknaga<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nnimi = enterbox(\"Palun sisesta oma nimi: \")\r\nvanus = integerbox(\"Palun sisesta oma vanus: \", lowerbound = 1, upperbound = 120)\r\naadress = enterbox(\"Palun sisesta oma aadress: \")\r\n \r\nfailinimi = filesavebox()\r\n \r\nf = open(failinimi, \"w\")\r\nf.write(nimi + \"\\n\")\r\nf.write(str(vanus) + \"\\n\")\r\nf.write(aadress + \"\\n\")\r\nf.close()<\/pre>\r\n<strong>N\u00e4iteprogramm. Failist lugemine koos faili valimise aknaga<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nfailinimi = fileopenbox()\r\n \r\nf = open(failinimi)\r\n \r\nnimi = f.readline().strip()\r\nvanus = f.readline().strip()\r\naadress = f.readline().strip()\r\n \r\nf.close()\r\n \r\ntekst = \"Nimi: \" + nimi + \"\\n\"+ \"Vanus: \" + vanus + \" aastat\\n\" + \"Aadress: \" + aadress\r\n \r\nmsgbox(tekst)<\/pre>\r\n&nbsp;","rendered":"<p>Varem kasutasime kasutajaliidese loomiseks moodulit <em>tkinter<\/em>, kuid selleks on teisigi v\u00f5imalusi. Seekord vaatame moodulit <em>easygui<\/em>, millega on kasutajaga suhtlemine lihtsam (kuigi v\u00e4hem paindlik). Mooduli nimes sisalduv l\u00fchend GUI t\u00e4histab <strong>graafilist kasutajaliidest<\/strong> (ingl <em>graphical user interface<\/em>).<\/p>\n<h3>EasyGUI paigaldamine<\/h3>\n<p class=\"vspace\">Moodul <a class=\"urllink\" href=\"http:\/\/easygui.sourceforge.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">EasyGUI<\/a> ei ole osa Pythoniga vaikimisi kaasas olevatest moodulitest, seet\u00f5ttu tuleb see esmalt paigaldada. Mooduli paigaldamiseks ava Thonny ning vali Tools (T\u00f6\u00f6ristad) &#8211;&gt; Manage packages&#8230; (Halda lisapakke&#8230;) &#8211;&gt; otsida EasyGui &#8211;&gt; valida easygui &#8211;&gt; Install.<\/p>\n<h3>Nuppudega dialoogiaken<\/h3>\n<p class=\"vspace\">Esimese n\u00e4itena teeme teatega dialoogiakna:<\/p>\n<p><strong>N\u00e4iteprogramm. \u00dche nupuga dialoogiaken<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *                              # EasyGui kasutamiseks importida\r\n \r\nmsgbox(\"Minu esimene graafiline kasutajaliides!!\") # teateaken<\/pre>\n<p>Tulemus peaks v\u00e4lja n\u00e4gema selline:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-266 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1.png\" alt=\"\" width=\"416\" height=\"139\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1.png 416w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1-300x100.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1-65x22.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1-225x75.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui1-350x117.png 350w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/p>\n<p>Sageli on vaja luua rohkem kui \u00fcks nupp. J\u00e4rgmises n\u00e4ites on juba mitu nuppu:<\/p>\n<p><strong>N\u00e4iteprogramm. Mitme nupuga dialoogiaken<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nnupud = [\"lihtne\",\"ok\",\"keeruline\"]\r\nvajutati = buttonbox(\"Programmeerimine on \", choices = nupud)\r\nmsgbox(\"Te arvate, et programmeerimine on \" + vajutati + \"!\")<\/pre>\n<p class=\"vspace\">Kui kasutaja vajutab nuppu, siis <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">buttonbox<\/code><\/code> tagastab valiku teksti, mis salvestatakse muutujasse <code>vajutati<\/code>. Kui kasutaja hoopis suleb dialoogiakna, siis tagastatakse <code>None<\/code>.<\/p>\n<p class=\"vspace\">N\u00fc\u00fcd k\u00fcsitakse nii:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-267 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2.png\" alt=\"\" width=\"416\" height=\"139\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2.png 416w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2-300x100.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2-65x22.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2-225x75.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui2-350x117.png 350w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/p>\n<p>Samuti n\u00e4idatakse kasutaja valikut:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-268 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3.png\" alt=\"\" width=\"416\" height=\"139\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3.png 416w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3-300x100.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3-65x22.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3-225x75.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui3-350x117.png 350w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/p>\n<h3>J\u00e4rjendiga dialoogiaken<\/h3>\n<p class=\"vspace\">Kui valikuid on v\u00e4he ja nende tekstid on l\u00fchikesed, siis on nupud heaks v\u00f5imaluseks. Pikemate tekstidega ja\/v\u00f5i suurema hulga valikute korral v\u00f5ib olla m\u00f5istlikum valik j\u00e4rjendina esitada:<\/p>\n<p><strong>N\u00e4iteprogramm. Valik j\u00e4rjendina<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nvariandid = [\"minu lemmik\",\"lihtne\",\"ok\",\"keeruline\"]\r\nvajutati = choicebox(\"Programmeerimine on \", choices = variandid)\r\nif vajutati == None:\r\n    msgbox(\"Te ei valinud midagi!\")\r\nelif vajutati == \"minu lemmik\":\r\n    msgbox(\"Programmeerimine on teie lemmik! Muidugi nii peakski olema!\")\r\nelse:\r\n    msgbox(\"Te arvate, et programmeerimine on \" + vajutati + \", hmm, v\u00e4ga huvitav!\")<\/pre>\n<p>Nii saame j\u00e4rgmise dialoogiakna:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-269 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4.png\" alt=\"\" width=\"1552\" height=\"579\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4.png 1552w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4-300x112.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4-768x287.png 768w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4-1024x382.png 1024w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4-65x24.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4-225x84.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui4-350x131.png 350w\" sizes=\"auto, (max-width: 1552px) 100vw, 1552px\" \/><\/p>\n<h3>Kasutajalt andmete k\u00fcsimine<\/h3>\n<p>Kasutajalt saab andmeid k\u00fcsida funktsiooni <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">enterbox<\/code><\/code> abil. Kui tahame t\u00e4isarvulist vastust, siis on sobilik kasutada funktsiooni <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">integerbox<\/code><\/code>, millele saab ette anda \u00fclemise ja alumise piiri. Kui sisestatu ei mahu piiridesse, siis k\u00fcsitakse uuesti.<\/p>\n<p><strong>N\u00e4iteprogramm. Vanuse k\u00fcsimine<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nnimi = enterbox(\"Tere, kuidas on teie nimi?\")\r\nvanus = integerbox(\"Kui vana te olete?\", lowerbound = 1, upperbound = 120)\r\nif nimi == None or vanus == None or nimi == \"\":\r\n    msgbox(\"Palun sisestage andmed korrektselt!\")\r\nelse:\r\n    msgbox(\"Tere, \" + str(vanus)  + \"-aastane \" + nimi + \"!\")<\/pre>\n<p>Kasutajalt k\u00fcsitakse kaks k\u00fcsimust. Esimese puhul kasutatakse funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">enterbox<\/code>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-270 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6.png\" alt=\"\" width=\"402\" height=\"166\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6.png 402w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6-300x124.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6-65x27.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6-225x93.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui6-350x145.png 350w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/p>\n<p>Teise k\u00fcsimuse korral kasutatakse funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">integerbox:<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-271 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7.png\" alt=\"\" width=\"402\" height=\"166\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7.png 402w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7-300x124.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7-65x27.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7-225x93.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui7-350x145.png 350w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/p>\n<p class=\"vspace\">Tulemus n\u00e4idatakse <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">msgbox<\/code> abil:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-272 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8.png\" alt=\"\" width=\"416\" height=\"139\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8.png 416w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8-300x100.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8-65x22.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8-225x75.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/easygui8-350x117.png 350w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/p>\n<h3>Veel EasyGUI-st<\/h3>\n<p>EasyGUI-l on veel v\u00f5imalusi, n\u00e4iteks saab <a class=\"urllink\" href=\"http:\/\/easygui.sourceforge.net\/tutorial.html#how-to-show-an-image-in-a-buttonbox\" target=\"_blank\" rel=\"noopener noreferrer\">lisada pilte<\/a>. Julgesti v\u00f5ib uurida <a class=\"urllink\" href=\"http:\/\/easygui.sourceforge.net\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">EasyGUI lehte<\/a>.<\/p>\n<h3>Video<\/h3>\n<p>Vaata ka <a href=\"https:\/\/www.uttv.ee\/naita?id=24095\" target=\"_blank\" rel=\"noopener noreferrer\">kokkuv\u00f5tvat videot<\/a>.<\/p>\n<h3>Failit\u00f6\u00f6tlus kasutajaliidesega<\/h3>\n<p>L\u00f5petuseks toome paar varianti varem uuritud failit\u00f6\u00f6tluse programmidest, kus kasutame graafilist kasutajaliidest:<\/p>\n<p><strong>N\u00e4iteprogramm. Faili kirjutamine koos salvestamise aknaga<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nnimi = enterbox(\"Palun sisesta oma nimi: \")\r\nvanus = integerbox(\"Palun sisesta oma vanus: \", lowerbound = 1, upperbound = 120)\r\naadress = enterbox(\"Palun sisesta oma aadress: \")\r\n \r\nfailinimi = filesavebox()\r\n \r\nf = open(failinimi, \"w\")\r\nf.write(nimi + \"\\n\")\r\nf.write(str(vanus) + \"\\n\")\r\nf.write(aadress + \"\\n\")\r\nf.close()<\/pre>\n<p><strong>N\u00e4iteprogramm. Failist lugemine koos faili valimise aknaga<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from easygui import *\r\n \r\nfailinimi = fileopenbox()\r\n \r\nf = open(failinimi)\r\n \r\nnimi = f.readline().strip()\r\nvanus = f.readline().strip()\r\naadress = f.readline().strip()\r\n \r\nf.close()\r\n \r\ntekst = \"Nimi: \" + nimi + \"\\n\"+ \"Vanus: \" + vanus + \" aastat\\n\" + \"Aadress: \" + aadress\r\n \r\nmsgbox(tekst)<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"author":12,"menu_order":4,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-265","chapter","type-chapter","status-publish","hentry"],"part":233,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":8,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/265\/revisions"}],"predecessor-version":[{"id":571,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/265\/revisions\/571"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/parts\/233"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/265\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/media?parent=265"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapter-type?post=265"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/contributor?post=265"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/license?post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}