Выпадающий список с Tkinter и Python
Язык Python имеет множество графических библиотек. Одной из них является Tkinter. И в сегодняшней статье мы рассмотрим как создать раскрывающийся список с Python и Tkinter, а также выведем индексы выбранных элементов в графическое окно.
Если вы хотите создать раскрывающийся список элементов и разрешить пользователю выбирать элементы списка, вы можете использовать виджет Combobox. Виджет Combobox позволяет создать выпадающий список, в котором можно мгновенно выбрать список элементов. Однако, если вы хотите получить индекс выбранных элементов в виджете со списком, вы можете использовать метод get(). Метод get() возвращает целое число выбранного элемента, известное как индекс элемента.
Пример
Давайте возьмем пример, чтобы увидеть, как это работает. В этом примере мы создали список дней недели в раскрывающемся списке, и всякий раз, когда пользователь выбирает день из раскрывающегося списка, он будет печатать и отображать индекс выбранного элемента в виджете «Label». Чтобы напечатать индекс, мы можем объединить строку, приведя данный индекс к строке.
from tkinter import *
from tkinter import ttk
# Создайте экземпляр фрейма или окна tkinter
window = Tk()
# Установить размер окна
window.geometry("700x350")
# Создайте функцию для очистки поля со списком
def clear_combobox():
combobox.set('')
# Определить кортеж дней
days= ('Понедельник','Вторник','Среда','Четверг','Пятница','Суббота','Воскресенье')
# Функция для печати индекса выбранной опции в Combobox
def callback(*arg):
Label(window, text = 'Индекс равен' + str(combobox.current()) + ' для ' + ' ' + str(var.get()), font = ('Helvetica 12') ).pack()
# Создайте виджет со списком
var = StringVar()
combobox = ttk.Combobox(window, textvariable = var)
combobox['values'] = days
combobox['state'] = 'readonly'
combobox.pack(fill='x',padx= 5, pady=5)
# Установите трассировку для данной переменной
var.trace('w', callback)
# Создайте кнопку, чтобы очистить выбранное текстовое значение поля со списком
button = Button(window, text = 'очистить', command = clear_combobox)
button.pack()
window.mainloop()
Выполнение приведенного выше кода отобразит виджет со списком дней. Всякий раз, когда вы выбираете день из списка, он будет печатать индекс и соответствующий элемент в виджете метки.
Таким образом, с помощью Tkinter и Python, мы создали выпадающий список дней недели.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.