Giả sử tôi có 2 mục nhập, 1 menu tùy chọn (danh sách thả xuống) và 1 nút trong tkinter. ? Làm thế nào tôi có thể thiết lập trạng thái nút widget để TÀN TẬT đến khi tất cả 3 widget được làm đầy bởi người sử dụng Đây là những gì tôi hiện đang có:Tkinter Python tắt nút cho đến khi tất cả các trường được điền
import Tkinter as tk
root = tk.Tk()
entry1=tk.Entry(root,width=15).grid(row=1,column=1)
entry2=tk.Entry(root,width=15).grid(row=1,column=2)
choices=('a','b','c')
var=tk.StringVar(root)
option=tk.OptionMenu(root,var,*choices)
option.grid(row=1,column=3)
button=tk.Button(root,text="submit")
button.grid(row=1,column=4)
root.mainloop()
--EDIT--
thử cách này, nhưng tôi không nghĩ rằng đây là cách chính xác để làm điều đó.
import Tkinter as tk
root = tk.Tk()
def myfunction(event):
x=var.get()
y=entry1.get()
z=entry2.get()
print len(x),":",len(y),":",len(z)
if len(y)>0 and len(x)>0 and len(z)>0:
button.config(state='normal')
else:
button.config(state='disabled')
entry1=tk.Entry(root,width=15)
entry1.grid(row=1,column=1)
entry2=tk.Entry(root,width=15)
entry2.grid(row=1,column=2)
choices=('a','b','c')
var=tk.StringVar(root)
option=tk.OptionMenu(root,var,*choices)
option.grid(row=1,column=3)
button=tk.Button(root,text="submit")
button.grid(row=1,column=4)
root.bind("<Enter>", myfunction)
root.mainloop()
ràng buộc trên '' yêu cầu người dùng di chuyển tiêu điểm trước khi trạng thái nút thay đổi. Đó không phải là một giải pháp tốt. Nút sẽ thay đổi trạng thái ngay khi tiện ích nhận được một số đầu vào. –