我有一个 PanedWindow 。
它是 panes(),它返回 _tkinter.Tcl_Obj 的列表,而不是窗格中的小部件的列表。
如何通过 Tcl_Obj.string 中的ID将真实的窗口小部件 add()添加到 PaedWindow 中?
(当然,我可以将 PaedWidget 子类化,并保留真实的小部件列表)。
import tkinter as tk
root = tk.Tk()
pw = tk.PanedWindow(root)
pw.add(tk.Frame(pw))
pw.add(tk.Frame(pw))
panes = pw.panes()
print(type(panes[0]))
print(panes[0].typename)
print(panes[0].string)
# The result is:
# <class '_tkinter.Tcl_Obj'>
# window
# .140650792907720.140650822212800
# how can I get tk.Frame by the ID = .140650792907720.140650822212800 ?
答案 0 :(得分:0)
您可以使用小部件方法nametowidget
:
frame = root.nametowidget(panes[0])