OptionMenu
в Tkinter — это вид виджета, который предлагает выпадающий список опций пользователю. В отличие отCombobox
в ttk, который позволяет пользователю вводить свои данные,OptionMenu
предоставляет только заранее заданный набор опций.
Создание виджета OptionMenu
в Tkinter осуществляется с помощью конструктора OptionMenu()
. Простейший пример создания OptionMenu
:
import tkinter as tk
root = tk.Tk()
# Создаем переменную для хранения выбранного значения
selected_option = tk.StringVar()
# Создаем список опций
options = ["Option 1", "Option 2", "Option 3"]
# Создаем OptionMenu
option_menu = tk.OptionMenu(root, selected_option, *options)
option_menu.pack()
root.mainloop()
bg
: задает фоновый цвет.fg
: задает цвет текста.font
: задает шрифт текста.height
: задает высоту виджета.width
: задает ширину виджета.activebackground
: задает цвет фона в активном состоянии.activeforeground
: задает цвет текста в активном состоянии.bd
: задает размер границы вокруг элемента.cursor
: изменяет форму курсора при наведении на виджет.direction
: определяет расположение выпадающего меню.disabledforeground
: задает цвет текста, когда виджет отключен.highlightcolor
: цвет подсветки, когда виджет имеет фокус.justify
: определяет выравнивание текста в меню.menu
: ассоциированное с виджетом меню.relief
: тип границы, принимает значения SUNKEN, RAISED, GROOVE, и RIDGE.state
: состояние виджета. Может быть NORMAL, ACTIVE, или DISABLED.textvariable
: ассоциированная с виджетом контрольная переменная (обычно это StringVar).getvar(name=PY_VAR)
: возвращает значение контрольной переменной.setvar(name=PY_VAR, value)
: устанавливает значение контрольной переменной.destroy()
: уничтожает виджет.focus()
: устанавливает фокус на виджет.mainloop()
: запускает главный цикл Tkinter.import tkinter as tk
def print_option():
print(f"Вы выбрали: {selected_option.get()}")
root = tk.Tk()
selected_option = tk.StringVar()
options = ["Option 1", "Option 2", "Option 3"]
option_menu = tk.OptionMenu(root, selected_option, *options)
option_menu.pack()
print_button = tk.Button(root, text="Print option", command=print_option)
print_button.pack()
root.mainloop()
OptionMenu
— это полезный и гибкий виджет в библиотеке Tkinter, который помогает в создании интерактивных и дружественных к пользователю интерфейсов. Будьте творческими и экспериментируйте с этим виджетом, чтобы лучше удовлетворить потребности вашего приложения.
Содержание: