Выпадающий список на Tkinter и Python
Здравствуйте! В сегодняшней статье мы рассмотрим, как создать выпадающий список в Tkinter, используя элемент интерфейса ttk.Combobox. Выпадающий список позволяет пользователю выбрать одно значение из заранее определённого набора.
ttk.Combobox — это компонент библиотеки ttk (входящей в состав Tkinter), который создаёт выпадающий список. Список значений передаётся параметру values.
Пример простого выпадающего списка
Создадим окно с выпадающим списком для выбора программного языка:
import tkinter as tk
from tkinter import ttk
# Создаем окно
root = tk.Tk()
root.title("Выпадающий список")
root.geometry("300x200")
# Список значений для выпадающего списка
options = ["Python", "Java", "C++", "JavaScript"]
# Создаем Combobox
combo = ttk.Combobox(root, values=options, state="readonly")
combo.set("Выберите язык") # Устанавливаем значение по умолчанию
combo.pack(pady=20)
# Функция для вывода выбранного значения
def get_selection():
selected = combo.get()
print(f"Вы выбрали: {selected}")
# Кнопка для вывода результата
button = tk.Button(root, text="Показать выбор", command=get_selection)
button.pack(pady=20)
# Запуск окна
root.mainloop()
Объяснение кода
-
Создание окна:
Используется метод Tk(), чтобы создать главное окно. -
Создание ttk.Combobox:
- values=options — список значений для выбора.
-
state="readonly" — запрещает ввод произвольного текста, позволяя выбирать только из предложенного списка.
-
Получение значения:
Метод combo.get() возвращает текущее выбранное значение.
Вывод
Выпадающий список в Tkinter — это удобный элемент интерфейса, который часто используется в формах, меню и пользовательских настройках. Благодаря гибкости ttk.Combobox, вы можете легко обрабатывать события, изменять значения и контролировать взаимодействие пользователя.
Для более глубокого изучения Python рекомендую курс Программирование на Python с Нуля до Гуру
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.