首页 > 解决方案 > 有没有办法获得框架孩子的参考?

问题描述

我编写了一个运行良好的 GUI,它应该从文件中获取一些信息并向我显示条目,并且根据存在多少行信息,它将生成相同的许多条目。

这段代码的问题是:我想让我更改一些值并将它们保存回文件中,但我不知道如何从框架上的所有条目中获取 entry.get()。如果我尝试获取有关它的参考,我将仅返回打印的最后一个条目更改。

def DataShow(self):
    # Import dictionary after the settings file was read
    from res.lib.Settings import app_settings

    # Make local frame
    frame = ScrolledFrameVertical(self, width=353)
    frame.pack(expand=True, fill="y", side="top")

    Button(frame, text="Save", command=lambda:save()).pack(fill="x", side="top")

    # Create entrys base on dictionary data and info
    for data, info in app_settings.items():
        d = Settings.Entry(frame, data, 20, info, 31)

    def save():
        print(d.get())

看起来像这样: 看起来像那样

标签: pythonpython-3.xtkinterframetkinter-entry

解决方案


您可以使用.winfo_children().

def save():
    for child in frame.winfo_children():
        print(child.get())

推荐阅读