这是我面临的一个非常特殊的问题,尽管这可能是因为我对 TKinter 的内部运作缺乏了解。
我正在尝试创建一个名为 ScrollableFrame 的类,它继承自 Frame 并将其添加到 PanedWindow 小部件中。
假设我添加一个普通框架:
main_panel = PanedWindow()
main_panel.pack()
settings_frame = Frame()
main_panel.add(settings_frame)
该代码有效,当我调用时main_panel.children我可以看到框架。
当我使用 ScrollableFrame 时,如下所示:
class ScrollableFrame(Frame):
def __init__(self, **kw):
try:
super().__init__(**kw)
self._canvas = Canvas(self)
self._frame = Frame(self._canvas)
self._scrollbar = Scrollbar(self._canvas, orient=VERTICAL, command=self._canvas.yview)
self._canvas.configure(yscrollcommand=self._scrollbar.set)
except Exception as e:
print(e)
main_panel = PanedWindow()
main_panel.pack()
settings_frame = ScrollableFrame()
main_panel.add(settings_frame)
当我调用时, main_panel 报告根本没有子项main_panel.children。
有人遇到过这种情况吗?提前致谢。
繁华开满天机
相关分类