Отключенный чекбокс
хочу сделать код на tkinter
, нужно, что-бы некоторые чекбоксы были активными сразу, некоторые нельзя поменять
Заранее спасибо
Ответы (1 шт):
Автор решения: Ben Puls
→ Ссылка
Установить положение чекбоксов в Tkinter можно с помощью BooleanVar
, IntVar
и StringVar
. Для того чтобы сделать чекбокс недоступным для изменения можно передать в аргумент state
значение "disabled"
(помимо этого существует ещё 2 значения "normal"
и "active"
).
Если всё это объединить, то выглядеть это будет таким образом:
import tkinter as tk
def checkbox_changed():
print("Положение изменено!")
root = tk.Tk()
root.title("Title")
var1 = tk.BooleanVar()
var2 = tk.BooleanVar()
var3 = tk.BooleanVar()
var1.set(True)
var2.set(False)
var3.set(True)
checkbox1 = tk.Checkbutton(
root, text="Чекбокс 1", variable=var1, command=checkbox_changed
)
checkbox2 = tk.Checkbutton(
root, text="Чекбокс 2", variable=var2, command=checkbox_changed
)
checkbox3 = tk.Checkbutton(
root, text="Чекбокс 3", variable=var3, command=checkbox_changed,
state="disabled"
)
checkbox1.pack()
checkbox2.pack()
checkbox3.pack()
root.mainloop()