Tkinter ComboBox

Tkinter Combobox



Ang ttk package, isang natatanging pagbabago ng Python Tkinter, ay nagpapakilala sa karagdagang bahagi na ito. Ang Python Tkinter ComboBox ay nagpapakita ng bawat pagpipilian mula sa isang drop-down na menu 1 sa isang sandali. Mayroon itong kontemporaryong hitsura, na ginagawang angkop para sa mga lokasyon kung saan mahalaga ang pagkakalantad. Ang Gadget Entry ay isang kakayahan ng klase ng Python ComboBox. Bilang resulta, nagdaragdag ito ng ilang karagdagang mga pagpipilian at pag-andar habang namamana din ang ilan mula sa klase ng Entry.

Ang isang mahalagang widget na maaaring makita sa ilang mga programa ay ang ComboBox. Ang user ay binibigyan ng listahan ng mga alternatibong mapagpipilian. Ito ay may ilang mga halaga, at isa lang ang ipinapakita sa bawat sandali. Sakop ng tutorial ngayon kung paano gamitin ang ComboBox sa Linux gamit ang Tkinter.

Halimbawa 1:

Magsimula tayo sa pinakaunang halimbawa ng Tkinter module sa Python. Lumilikha kami ng bagong Python file na may extension na 'py' sa pamamagitan ng terminal console. Pagkatapos nito, maaari mong gamitin ang anumang editor na iyong pinili upang buksan ang bagong nabuong Python file mula sa file explorer. Sinisimulan namin ang Python code na ito sa pag-import ng Tkinter library sa code kasama ang lahat ng sub-object, klase, at built-in na entity nito.







Ini-import namin ang ttk object nito na gagamitin sa code. Una, tinatawag namin ang Tk() function ng Tkinter upang magdagdag ng bagong halaga para sa object na 't'. Ang object na 't' ay ginagamit upang tawagan ang geometry function upang lumikha ng isang graphical na user interface na '200×150'. Sa loob ng unang halimbawang ito, ginagamit namin ang 'frame()' na paraan ng Tkinter upang lumikha ng isang GUI frame sa console screen. Ang object na 'f' ng frame ay sarado dito gamit ang Tkinter pack() function.



Pagkatapos nito, lumikha kami ng isang listahan ng 'l' ng mga uri ng string na naglalaman ng kabuuang 5 mga halaga ng string sa loob nito. Pagkatapos nito, ginagamit namin ang Tkinter ttk object para tawagan ang ComboBox function ng Tkinter sa loob ng frame na “f”. Ang listahang 'l' ay ipinasa dito. Ang ComboBox na ito ay nai-save sa variable na 'C'. Itinakda namin ang label para sa ComboBox gamit ang function na 'set' at i-pack ang ComboBox na may eksaktong mga padding. Ngayon, isinasagawa namin ang mainloop() function upang maisagawa ang pangkalahatang programa ng Tkinter.







Pagkatapos makumpleto ang script ng Python, ise-save namin ang code gamit ang Ctrl+S at babalik sa shell console ng Linux system. Sinusubukan namin ang pagtuturo ng Python3 sa shell na sinusundan ng pangalan ng isang Python file upang maisagawa ang file tulad ng ipinapakita sa sumusunod:

$ python3 test.py



Pagkatapos ng pagsasagawa ng query, makukuha namin ang sumusunod na Tkinter GUI sa aming console screen na may pamagat na 'tk'. Ang screen ng GUI ay naglalaman ng isang comboBox, ibig sabihin, isang drop-down na listahan, na may pamagat na 'Pumili ng 1 Kulay' at isang tatsulok na sign upang buksan ito.

Pagkatapos ng pag-tap sa triangle sign, ang mahabang drop-down na listahan ay ipinapakita kasama ang lahat ng magagamit na mga opsyon nito. Makikita mo na mayroon kaming kabuuang 5 opsyon na mapagpipilian.

Sabihin nating, pipiliin mo ang kulay na 'Itim' mula sa drop-down na listahan. Makikita mo na ang napiling kulay ay ipinapakita sa pamagat na lugar ng isang drop-down na ComboBox. Nakatago ang natitirang listahan.

Halimbawa 2:

Tingnan natin ang isa pang halimbawa gamit ang ibang paraan para gumawa ng ComboBox sa Tkinter sa pagkakataong ito. Kaya, sinisimulan namin ang Python code na ito sa pag-import ng Tkinter module sa parehong Python file bilang 'tk' kasama ang pag-import ng ttk class nito. Pagkatapos nito, ini-import namin ang showinfo() function mula sa klase ng message box ng Tkinter module. Gayundin, ini-import namin ang variable na month_name mula sa module ng kalendaryo ng Python.

Tinatawag namin ang tk() function na may tk object ng Tkinter module at i-save ang constructor na resulta sa variable na 't'. Ang geometry function ay tinatawag na may mga tinukoy na parameter upang lumikha ng isang GUI ng Tkinter na may partikular na laki. Ang title() function ay tinatawag na may parameter na 'Combobox Illustration' para pamagat ang Tkinter GUI at ang Label function mula sa ttk class para lumikha ng label na 'l'. Ang pack function ay ginagamit upang punan ang label na 'l'. Ang variable na 'mn' ay nilikha gamit ang StringVar() function ng 'tk' class. Ang ComboBox 'mcb' ay nilikha gamit ang ComboBox function at variable na text na 'mn'. Ang mcb ComboBox ay puno ng mga string value hanggang 13 sa pamamagitan ng month_name variable na ginamit sa loob ng loop na 'para'.

Ang estado para sa 'mcb' ComboBox ay nakatakda sa readonly at ito ay naka-pack. Ang choose() function ay ginawa para tawagan ang showinfo() function para gumawa ng alert dialogue box na may pamagat na “Confirmation” at isang mensahe na “You have chosen {whatever the value}. Ang bind() function ay tinatawag na may 'mcb' ComboBox sa pamamagitan ng pagdaragdag ng 'ComboboxSelected' na mga parameter at 'change' function. Ang mainloop() function ay isinasagawa upang i-loop out ang Tkinter program. I-save muna natin bago tumakbo.

Isinasagawa namin ang file na ito gamit ang python3 query.

$ sawa 3 test.py

Ang sumusunod na screen ng Tkinter na pinangalanang 'ilustrasyon ng ComboBox' ay lilitaw sa sumusunod:

Kapag nag-click kami sa ComboBox triangle sign sa ilalim ng pamagat na 'Pumili ng Buwan', ipinapakita nito ang mga pangalan ng isang buwan.

Kapag pinili namin ang 'Hulyo', ito ay ipinapakita sa label at ang dialogue alert at isang mensahe ay lilitaw. Pindutin ang Ok upang magpatuloy.

Konklusyon

Ito ay tungkol sa paggamit ng Tkinter module ng Python upang lumikha ng comboBox sa GUI window. Para dito, sinubukan namin ang dalawang simple ngunit magkaibang mga halimbawa ng Python upang makamit ang layunin gamit ang frame() function at ang kumbensyonal na paraan ng paglikha ng comboBox sa GUI. Isinama namin ang mga sample na code para sa parehong mga pagkakataon at gumawa ng ilang pagbabago pagkatapos ng pagpapatupad ng mga code.