通过标记

时间:2015-08-31 13:43:28

标签: python tkinter tk

我正在寻找一种方法来同时配置具有相同标记的多个小部件。我目前的解决方案是使用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

1 个答案:

答案 0 :(得分:1)

tkinter无法一次修改多个小部件。您举例说明了使用bindtags,但这并不是bindtags的用途。

话虽如此,您可以编写循环遍历小部件的辅助函数,并且可以使用列表或词典对小部件进行分组。或者,您当然可以遍历所有小部件,并且只对具有某些绑定标记的小部件执行某些操作。

在最简单的情况下,它可能看起来像这样:

entry1 = Entry(...)
entry2 = Entry(...)
entries = (entry1, entry2)
...
def disable_all_entries():
    for entry in entries:
        entry.configure(state="disabled")