Python 如何在tkinter中获取笔记本小部件的框架名称

Python 如何在tkinter中获取笔记本小部件的框架名称,python,tkinter,Python,Tkinter,如果我们有标签,那么我们可以选择将其文本作为 l = tk.Label(text="hello, world") ... print("the label is", l.cget("text")) 但我找不到用同样的方法在笔记本中添加的框架名称,还有其他方法吗 样本: 您可以通过以下方式获得ttk.Notebook的选项卡的文本选项: note.tab(tab2)['text'] 通常,您可以通过以下方式获得选项卡的选项: nb.tab(tab_name)[option] 您可以在创建小部

如果我们有标签,那么我们可以选择将其文本作为

l = tk.Label(text="hello, world")
...
print("the label is", l.cget("text"))
但我找不到用同样的方法在笔记本中添加的框架名称,还有其他方法吗

样本:


您可以通过以下方式获得
ttk.Notebook的
选项卡的
文本
选项

note.tab(tab2)['text']
通常,您可以通过以下方式获得选项卡的
选项

nb.tab(tab_name)[option]

您可以在创建小部件时指定它们的名称:

note = Notebook(root, name="George")
tab2 = Frame(note, name="Tabby")
并使用nametowidget按名称查找小部件:

tab2 = root.nametowidget("George.Tabby")

如果我们在同一个文件中使用,这很好,但是如果我动态地传递一个框架元素作为Notebook.tab(item)['text'],则会给出TypeError:tab()缺少1个必需的位置参数:“tab_id”,尽管我传递的是相同的内容,但请提供相同内容的引用链接以供进一步探索!谢天谢地,我使用的tabid似乎默认为0索引元组。您可以使用范围内id的
(len(nb.tabs()):nb.tab(id)['text']
列出所有选项卡的文本选项。或者单独
nb.tab(1)['text']
。您所说的“框架名称”是什么意思?你是在问如何获取笔记本选项卡的文本吗?@BryanOakley是的,根据Nae的回答,我可以在同一个文件上获取,但如果我在Nae的回答中动态传递框架对象,那么它在这里工作不正常,它就是笔记本。选项卡(项)['text']其中item是要解决的动态框架对象请更新您的问题以向我们显示准确反映问题的代码。
tab2 = root.nametowidget("George.Tabby")