【问题标题】:How do I get a widget by it's ID from a PanedWindow?如何通过它的 ID 从 PanedWindow 获取小部件?
【发布时间】:2019-02-17 13:31:02
【问题描述】:

我有一个 PanedWindow

它是 panes() 它返回 _tkinter.Tcl_Obj 的列表,而不是窗格中的小部件列表。

如何通过 Tcl_Obj.string 中的 ID 将真正的小部件 add() 添加到 PanedWindow 中?

(当然,我可以继承 PanedWidget 并保留真实小部件的列表)。

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 ?

【问题讨论】:

  • 欢迎来到 StackOverFlow!请分享一些您尝试过的代码。如果您遇到错误,请分享完整的 Traceback。

标签: python tkinter widget


【解决方案1】:

您可以使用小部件方法nametowidget

frame = root.nametowidget(panes[0])

【讨论】:

    猜你喜欢
    • 2011-09-14
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2016-06-17
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多