多个选项卡中的Python Tkinter滚动条

多个选项卡中的Python Tkinter滚动条,python,canvas,tkinter,scrollbar,tk,Python,Canvas,Tkinter,Scrollbar,Tk,我学习了如何制作一个可滚动的框架,方法是将框架嵌入画布中,然后向其中添加一个滚动条,如下所示: def __add_widget_features(self, feat_tab): table_frame = ttk.Frame(feat_tab) table_frame.pack(fill=BOTH, expand=True) self.__make_grid(table_frame) ####subframe#### se

我学习了如何制作一个可滚动的框架,方法是将框架嵌入画布中,然后向其中添加一个滚动条,如下所示:

def __add_widget_features(self, feat_tab):
    table_frame = ttk.Frame(feat_tab)
    table_frame.pack(fill=BOTH, expand=True)
    self.__make_grid(table_frame)

    ####subframe####              
    self.canvas = Canvas(table_frame, borderwidth=0, background="#ffffff")
    self.frame = LabelFrame(self.canvas, background="#ffffff", text="Timetable")
    self.vsb = ttk.Scrollbar(table_frame, orient="vertical", command=self.canvas.yview)
    self.canvas.configure(yscrollcommand=self.vsb.set)

    self.vsb.pack(side="right", fill="y")
    self.canvas.pack(side="right", fill="both", expand=True)
    self.canvas.create_window((4,4), window=self.frame, anchor="nw", 
                              tags="self.frame")

    self.frame.bind("<Configure>", self.OnFrameConfigure)

问题图片:

您可能在父子关系方面做错了什么。请看以下代码:

def __add_widget_timetable(self, timetable_tab):
    table_frame = ttk.Frame(feat_tab)
    table_frame.pack(fill=BOTH, expand=True)
    self.__make_grid(table_frame)
请注意您是如何传入一个帧(
table\u tab
),创建另一个选项卡(
table\u frame
),并将创建的帧放入另一个帧(
feat\u tab


似乎有点不对劲。我的猜测是,
table\u frame
应该是
timeline\u tab

的子项,因为您说问题与ttk笔记本中的多个选项卡有关(我假设是),您可能需要向我们展示涉及多个选项卡的代码;我看不出这里的代码有任何明显的错误。另外,关于:发布图像,你也可以使用类似和发布链接的东西。好的,从图片中,我猜你指的问题是第二帧上的滚动条看起来不活动/变灰?第二组代码中调用的第一组代码在哪里?函数
\uuuu make\u grid
中的第一组代码是吗?根据您发布的代码片段,仍然很难将发生的事情整合在一起。对不起,第一段代码在self中调用。uu添加小部件功能(tab_frame4)和self。u添加小部件时间表(tab_frame5)。它在帧_5中工作,但在帧_4中不工作。如果注释掉第5帧中的第一个代码块,则第4帧中的滚动条处于活动状态。
\uu使网格
做什么?默认情况下,它配置10x10网格。我从一位同事以前的项目中得到了这段代码,并开始对其进行修改以满足我的需要,所以我只是按照她的方式创建网格。我最初认为uuu make_u网格是一个tk函数,所以我不确定为什么网格会以这种方式实例化,但它似乎工作得很好。我在向网格中添加小部件以使其大于10x10(尝试39x203)时没有问题,这是一个粘贴错误。我在feature选项卡中将table_框架作为feat_选项卡的子项,然后在我的时间表函数中将table_框架作为时间表的子项_tab@user979489:如果您希望我们帮助您解决问题,您需要发布解决问题的实际代码。我们如何知道哪些bug是复制/粘贴错误,哪些是真正的问题?对此表示抱歉。我复制了我的代码并粘贴了它,但是错过了顶行,然后从错误的代码部分复制了它。只是一个错误。。。我在问题中更正了它。问题中的代码是我遇到问题的实际代码。
def __add_widget_timetable(self, timetable_tab):
    table_frame = ttk.Frame(feat_tab)
    table_frame.pack(fill=BOTH, expand=True)
    self.__make_grid(table_frame)