Найти - Пользователи
Полная версия: Tkinter привязка состояния виджета к функции
Начало » GUI » Tkinter привязка состояния виджета к функции
1
seeder
Есть 3 радиокнопки и поле с текстом. Нужно чтобы поле было доступно для редактирования только если выбрана 3 радиокнопка. Соответственно при любых других вариантах нужно чтобы поле было недоступно для редактирования. Как решить эту задачу?

Не нашел в документации ответа как это сделать, т.к. не нашел событие “изменение состояния виджета” в списке возможных событий для bind.

from tkinter import *
root = Tk()
Entry1 = Entry(root, width=15)
Entry1.insert(END, 'Третий')
Entry1.place(x=20, y=20)
Entry1.config(state=DISABLED)
rb = IntVar()
rbutton1=Radiobutton(root, text='Первый', variable=rb, value=1)
rbutton2=Radiobutton(root, text='Второй', variable=rb, value=2)
rbutton3=Radiobutton(root, text='Третий', variable=rb, value=3)
rbutton1.place(x=10, y=40)
rbutton2.place(x=10, y=60)
rbutton3.place(x=10, y=80)
rb.set(1)
root.mainloop()
Griffon
def callback(*args):
    print args
var = IntVar()
var.trace_variable("w", callback)
seeder
Griffon
Спасибо за помощь!!!
Теперь знаю про trace_variable
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB