我对窗口中的所有条目窗口小部件有类似的界限。如果全部都有条目,则绘制一个按钮,如果任何一个为空,则该按钮不被绘制或移除。我希望用户输入一个特定的号码,而不是接受默认值。检查条目窗口小部件
any_entry = ttk.Entry(...)
any_entry.bind('<Key>', is_empty)
这是处理程序:
def is_empty(event):
for child in window.winfo_children():
if child.winfo_class() == 'TEntry':
if child.get() == '':
calc_btn.grid_remove()
return
calc_btn.grid()
我遇到的问题是,该处理器被调用任何按键,但存储在widget textvariable值不直到下一次按键更新或小部件失去焦点。如果我在每个Entry小部件中放入一个数字,则会显示calc_button。如果我专注于任何条目并删除条目,则在另一个键按下或移动焦点之前,该按钮不会被删除。这允许用户单击calc_button,暴露出道路上可能出现的异常或错误,因为一个Entry可能会产生空值。有关如何更好地处理此问题的任何建议?
完美!我不明白,也无法找到第三个参数(add ='+')的任何信息。你能解释一下还是指导我解释一个资料来源?附:我的示例没有反映,但我正在使用类结构。 –
添加绑定到此小部件的事件。通常,新绑定会替换相同事件序列的任何现有绑定。通过传入“+”作为第三个参数,新的回调被添加到现有的绑定中。来源:http://effbot.org/tkinterbook/widget.htm我在那里添加它,以确保我不与现有的默认绑定插件。 –