可以创建不同数量的 frame/tab 个对象并将每个对象绑定到一个名称吗?

Possible to create varying number of frame/tab objects and bind each to a name?

我正在阅读一个游戏的文件夹结构,其中每个帐户都有服务器的子文件夹,然后是角色的子文件夹,在角色文件夹中有一个文本文件。

我想在我的根 window 中使用 tkinter 和 ttk 创建的是每个帐户 1 个标签/框架,每个帐户下每个服务器有 1 个标签,然后每个角色有 1 个标签,我最终将在其中从每个字符文件中放入文本。

因为我从文件系统中读取了这个,所以帐户、服务器和字符的数量可能会有所不同,所以我循环遍历这些来制作 tkinter 小部件对象。

问题是我无法弄清楚如何将每个对象绑定到一个名称,以便我可以在创建对象后比较/修改对象的值,以便每个服务器只有 1 个选项卡,例如所有字符被放置。

我试过谷歌搜索,但似乎找不到我要找的东西。到目前为止,我已经尝试为我将阅读的每个文件创建一个 class,并且 class 包含所有必要的信息。但是我在创建 tkinter 对象并试图弄清楚如何去做时卡住了。

这是我的class,我从中成功创建了一个实例,其中为每个文件填充了所有信息,尽管它们在没有绑定的对象列表中name/variable:

class MacroObject(object):
    def __init__(self, name, realm, account, path):
        self.account = account
        self.realm = realm
        self.name = name
        self.path = path
        self.macroName = ''
        self.macroText = []

这是我目前创建 gui 的方法:

root = tk.Tk()

tabControl = ttk.Notebook(root)
tabControl.pack()

account_tabs = []
realm_tabs = []
character_tabs = []

accounts = []
realms = []

for objects in macro_objects:
    if objects.account not in accounts:
        tabControl.add(ttk.Frame(tabControl), text=objects.account)
        accounts.append(objects.account)
        for objects in macro_objects:
            if objects.account == ttk.Frame.text and objects.realm not 

这是我卡住的地方,最后一行显然不起作用,ttk.Frame 被实例化,我似乎无法引用它,我似乎无法弄清楚如何解决它。

我仍然是一个初学者,所以我猜这可能是一个愚蠢的问题,可能有更简单的方法吗?

感谢 Martineau,我的问题得到了解决 reminding/making 我意识到我可以将小部件存储在字典中。

我使用我的 MacroObject class 实例中的值作为键,过了一会儿我得到了我想要的结果,带有 ttk 笔记本选项卡层次结构: https://i.imgur.com/IsNmXiO.png