@ Мартин, чтобы ответить на ваш вопрос точно, не могли бы вы сбросить, какой метод e.get()
возвращает?
Ваш код может сломаться в некоторых угловых случаях (если e.get()
возвращает None
и т. Д. c каким-то образом вы никогда не узнаете), поэтому я предлагаю ниже фрагмент и некоторые улучшения, которые я думал.
Вы можете уменьшить значение if / else до одной строки и сделать его более читабельным,
submit.config(state=NORMAL if e.get() else DISABLED)
Кроме того, по возможности следует избегать использования глобальных переменных.
def sign(e):
infoLabel = Label(root, text="Enter your name: ").grid(row=0, column=0)
e = Entry(root, width=25)
e.grid(row=0, column=1, columnspan=2)
submit = Button(root, text="Submit", command=signbtn)
submit.grid(row=0, column=3)
submit.config(state=NORMAL if e.get() else DISABLED)
return e