Важнейшим виджетом, который можно увидеть в нескольких программах, является ComboBox. Пользователю предоставляется список альтернатив на выбор. Он имеет несколько значений и отображает только одно в данный момент. Сегодняшний урок расскажет, как использовать ComboBox в Linux с помощью Tkinter.
Пример 1:
Давайте начнем с самого первого примера модуля Tkinter в Python. Мы создаем новый файл Python с расширением «py» через консоль терминала. После этого вы можете использовать любой редактор по вашему выбору, чтобы открыть только что сгенерированный файл Python из проводника. Мы начинаем этот код Python с импорта библиотеки Tkinter в код вместе со всеми ее подобъектами, классами и встроенными сущностями.
Мы импортируем его объект ttk для использования в коде. Сначала мы вызываем функцию Tk() Tkinter, чтобы добавить новое значение для объекта «t». Объект «t» используется для вызова функции геометрии для создания графического пользовательского интерфейса «200×150». В этом первом примере мы используем метод «frame ()» Tkinter для создания фрейма графического интерфейса на экране консоли. Здесь объект «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 на экране консоли с заголовком «tk». Экран графического интерфейса содержит поле со списком, то есть раскрывающийся список с заголовком «Выберите 1 цвет» и знаком треугольника, чтобы открыть его.
После нажатия на знак треугольника отображается длинный раскрывающийся список со всеми доступными параметрами. Вы можете видеть, что у нас есть в общей сложности 5 вариантов на выбор.
Допустим, вы выбираете цвет «Черный» из выпадающего списка. Вы увидите, что выбранный цвет отображается в области заголовка раскрывающегося списка ComboBox. Оставшийся список скрыт.
Пример 2:
Давайте взглянем на другой пример, используя другой метод для создания ComboBox в Tkinter на этот раз. Таким образом, мы начинаем этот код Python с импорта модуля Tkinter в тот же файл Python, что и «tk», вместе с импортом его класса ttk. После этого мы импортируем функцию showinfo() из класса окна сообщений модуля Tkinter. Также мы импортируем переменную month_name из модуля календаря Python.
Мы вызываем функцию tk() с объектом tk модуля Tkinter и сохраняем результат конструктора в переменной «t». Функция геометрии вызывается с указанными параметрами для создания графического интерфейса Tkinter определенного размера. Функция title() вызывается с параметром «Combobox Illustration» для заголовка графического интерфейса Tkinter и функцией Label из класса ttk для создания метки «l». Функция pack используется для заполнения этикетки «l». Переменная «mn» создается с помощью функции StringVar() класса «tk». ComboBox «mcb» создается с использованием функции ComboBox и переменного текста «mn». Поле со списком mcb заполняется строковыми значениями до 13 с помощью переменной month_name, используемой в цикле for.
Для ComboBox «mcb» установлено состояние «только для чтения», и он упакован. Функция Choose () создана для вызова функции showinfo () для создания диалогового окна предупреждения с заголовком «Подтверждение» и сообщением «Вы выбрали {любое значение}. Функция bind() вызывается с полем со списком «mcb» путем добавления параметров «ComboboxSelected» и функции «change». Функция mainloop() выполняется для зацикливания программы Tkinter. Давайте сохраним его перед запуском.
Мы выполняем этот файл с помощью запроса python3.
$ питон 3 test.py
Следующий экран Tkinter под названием «Иллюстрация ComboBox» появляется следующим образом:
Когда мы нажимаем на треугольный знак ComboBox под заголовком «Выберите месяц», он показывает названия месяцев.
Когда мы выбираем «июль», он отображается на этикетке, появляется диалоговое предупреждение и сообщение. Нажмите Ок, чтобы продолжить.
Вывод
Это все об использовании модуля Tkinter Python для создания поля со списком в окне графического интерфейса. Для этого мы попробовали два простых, но разных примера Python для достижения цели, используя функцию frame() и обычный способ создания comboBox в графическом интерфейсе. Мы включили примеры кодов для обоих экземпляров и внесли несколько изменений после выполнения кодов.