vendredi 4 décembre 2020

Tkinter how to lock Text-wisget by checking checkbox?

I am new to programming and Tkinter. I want to DISABLE textbox when checkbox is pressed and open it (NORMAL) when box is not ticked. Here is my code:

from tkinter import *

root = Tk()

def lock_fields():
    if check == True:
        data.configure(state=DISABLED)
    if check == False:
        data.configure(state=NORMAL)

check = BooleanVar()
open_for_edit = Checkbutton(root, text="check the box for editing", variable=check, onvalue=True, offvalue=False, command=lambda: lock_fields())
open_for_edit.pack()
check = check.get()

data = Text(root)
data.insert(END, "I would like to be able to edit this text only when checkbox is checked.")
data.pack()

root.mainloop()

It seems that for some reason the check-variable is always False when it enters to lock_fields function. I tried passing check argument to the method.

Thanks in advance!




Aucun commentaire:

Enregistrer un commentaire