我在一个框架上有几个Entry小部件。每个小部件都分配了一个textvariable。当所有条目都完成后,我想要发生一些事情(比如显示一个计算按钮)。 如何仅遍历Entry小部件以查看它们的值是否为空?
bytes
必须有一种方法来遍历内容框架(自我)并且只选择Entry小部件。我找不到解释如何做的来源。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以将框架传递给一个函数,该函数将获取其子项并在子项是条目的情况下进行迭代:
def get_frame_inputs(frame):
inputs = [frame.children[x].get() for x in frame.children if 'entry' in x]
print(inputs)
class MyFrame:
def __init__(self, master, title, row, col, stk):
self.lf = LabelFrame(master, text=title)
self.lf.grid(row=row, column=col, ipadx=5, ipady=5, padx=5, pady=5, sticky=stk)
def add_entry(self, title, width, row, col, stk):
Label(self.lf, text=title).grid(padx=5, pady=2, row=row, column=col, sticky=stk)
self.en = Entry(self.lf, width=width)
self.en.grid(padx=5, pady=2, row=row, column=col+1)
def add_button(self, text, row, col, stk):
Button(self.lf, text=text, command=lambda a=self.lf: get_frame_inputs(a)
).grid(row=row, column=col, sticky=stk, padx=5, pady=2)