通过标签一次配置多个小部件
Configure multiple widgets at once by tag
我正在寻找一种方法来一次配置多个具有相同标签的小部件。我目前的解决方案是使用 for 循环并配置每个循环,但我觉得必须有更好的方法。理想情况下,我想要这样的东西:
root = Tk()
entry1 = Entry(root)
entry2 = Entry(root)
entry1.pack()
entry2.pack()
entry1.bindtags(entry1.bindtags() + ("entries",)) # Is there a better way to do this?
entry2.bindtags(entry2.bindtags() + ("entries",))
root.class_configure("entries", state=DISABLED) # Pseudo code
tkinter 无法一次修改多个小部件。您给出了一个使用 bindtags 的示例,但这不是 bindtags 的用途。
也就是说,您可以编写遍历小部件的辅助函数,并且可以使用列表或字典对小部件进行分组。或者,您当然可以遍历所有小部件,并且仅对具有特定绑定标签的小部件执行特定操作。
在最简单的情况下,它可能看起来像这样:
entry1 = Entry(...)
entry2 = Entry(...)
entries = (entry1, entry2)
...
def disable_all_entries():
for entry in entries:
entry.configure(state="disabled")
我正在寻找一种方法来一次配置多个具有相同标签的小部件。我目前的解决方案是使用 for 循环并配置每个循环,但我觉得必须有更好的方法。理想情况下,我想要这样的东西:
root = Tk()
entry1 = Entry(root)
entry2 = Entry(root)
entry1.pack()
entry2.pack()
entry1.bindtags(entry1.bindtags() + ("entries",)) # Is there a better way to do this?
entry2.bindtags(entry2.bindtags() + ("entries",))
root.class_configure("entries", state=DISABLED) # Pseudo code
tkinter 无法一次修改多个小部件。您给出了一个使用 bindtags 的示例,但这不是 bindtags 的用途。
也就是说,您可以编写遍历小部件的辅助函数,并且可以使用列表或字典对小部件进行分组。或者,您当然可以遍历所有小部件,并且仅对具有特定绑定标签的小部件执行特定操作。
在最简单的情况下,它可能看起来像这样:
entry1 = Entry(...)
entry2 = Entry(...)
entries = (entry1, entry2)
...
def disable_all_entries():
for entry in entries:
entry.configure(state="disabled")