Tkinter ComboBox

Tkinter Combobox



Пакетът ttk, уникална модификация на Python Tkinter, въвежда този допълнителен компонент. Python Tkinter ComboBox показва всеки избор от падащо меню 1 на момент. Той има съвременен външен вид, което го прави подходящ за места, където експозицията е от решаващо значение. Притурката Entry е класова способност на Python ComboBox. В резултат на това той добавя някои допълнителни опции и функции, като същевременно наследява няколко от класа Entry.

Решаваща джаджа, която може да се види в няколко програми, е ComboBox. На потребителя се дава списък с алтернативи, от които да избира. Има няколко стойности и показва само една в даден момент. Днешният урок ще обхване как да използвате ComboBox в Linux с помощта на Tkinter.

Пример 1:

Нека започнем с първия пример на модула Tkinter в Python. Създаваме нов Python файл с разширение „py“ през терминалната конзола. След това можете да използвате произволен редактор по ваш избор, за да отворите новогенерирания файл на Python от файловия мениджър. Започваме този код на Python с импортирането на библиотеката Tkinter в кода заедно с всички нейни подобекти, класове и вградени обекти.







Импортираме неговия ttk обект, който да се използва в кода. Първо, извикваме функцията Tk() на Tkinter, за да добавим нова стойност за обекта „t“. Обектът „t“ се използва за извикване на геометричната функция за създаване на графичен потребителски интерфейс от „200×150“. В този първи пример използваме метода „frame()“ на Tkinter, за да създадем GUI рамка на екрана на конзолата. Обектът „f“ на рамката се затваря тук с помощта на функцията Tkinter pack().



След това създаваме списък „l“ от типове низове, съдържащ общо 5 стойности на низове в него. След това използваме обекта Tkinter ttk, за да извикаме функцията ComboBox на Tkinter в рамката „f“. Към него се предава списъкът „l“. Това ComboBox се записва в променливата „C“. Задаваме етикета за ComboBox с помощта на функцията „set“ и пакетираме ComboBox с точни подложки. Сега изпълняваме функцията mainloop(), за да изпълним цялата програма Tkinter.







След като завършим скрипта на Python, запазваме кода с Ctrl+S и се връщаме в конзолата на обвивката на системата Linux. Опитваме инструкцията Python3 в обвивката, последвана от името на файл на Python, за да изпълним файла, както е показано в следното:

$ python3 test.py



След изпълнението на заявката получаваме следния Tkinter GUI на екрана на нашата конзола със заглавие „tk“. Екранът на GUI съдържа комбинирано поле, т.е. падащ списък със заглавие „Изберете 1 цвят“ и триъгълен знак, за да го отворите.

След докосване на триъгълния знак се показва дългият падащ списък с всички налични опции. Можете да видите, че имаме общо 5 налични опции за избор.

Да речем, че избирате цвят „Черен“ от падащия списък. Ще видите, че избраният цвят е показан в областта на заглавието на падащото комбинирано поле. Останалият списък е скрит.

Пример 2:

Нека да разгледаме друг пример, като този път използваме различен метод за създаване на ComboBox в Tkinter. По този начин започваме този код на Python с импортирането на модула Tkinter в същия файл на Python като „tk“, заедно с импортирането на класа ttk от него. След това импортираме функцията showinfo() от класа на кутията за съобщения на модула Tkinter. Също така импортираме променливата month_name от календарния модул на Python.

Извикваме функцията tk() с обекта tk на модула Tkinter и записваме резултата от конструктора в променливата “t”. Геометричната функция се извиква с определени параметри, за да създаде GUI на Tkinter с определен размер. Функцията title() се извиква с параметър „Combobox Illustration“, за да озаглави Tkinter GUI и функцията Label от класа ttk, за да създаде етикет „l“. Функцията pack се използва за запълване на етикета „l“. Променливата “mn” се създава с функцията StringVar() на класа “tk”. ComboBox „mcb“ се създава с помощта на функцията ComboBox и променлив текст „mn“. mcb ComboBox се попълва със стойности на низ до 13 чрез променливата month_name, използвана в рамките на цикъла „for“.

Състоянието за „mcb“ ComboBox е настроено само за четене и то е пакетирано. Функцията choose() е създадена, за да извика функцията showinfo(), за да създаде предупредителен диалогов прозорец със заглавие „Потвърждение“ и съобщение „Вие сте избрали {каквато и да е стойността}. Функцията bind() се извиква с “mcb” ComboBox чрез добавяне на параметрите “ComboboxSelected” и функцията “change”. Функцията mainloop() се изпълнява, за да завърши програмата Tkinter. Нека първо го запазим, преди да стартираме.

Ние изпълняваме този файл с помощта на заявката на python3.

$ питон 3 test.py

Следният екран на Tkinter, наречен „Илюстрация на ComboBox“, се появява в следното:

Когато щракнем върху триъгълния знак ComboBox под заглавието „Изберете месец“, той показва имената на месеца.

Когато изберем „юли“, това се показва на етикета и се появява предупредителен диалог и съобщение. Натиснете OK, за да продължите.

Заключение

Това е всичко за използването на модула Tkinter на Python за създаване на comboBox в прозореца на GUI. За целта опитахме два прости, но различни примера на Python, за да постигнем целта, използвайки функцията frame() и конвенционалния начин за създаване на comboBox в GUI. Включихме примерните кодове и за двата случая и направихме няколко промени след изпълнението на кодовете.