可见滚动条无法滚动

时间:2019-10-12 13:02:02

标签: python-3.x tkinter scrollbar

滚动条显示在放置的位置,但已被禁用并且没有显示其他内容。

class foo():
    def __init__(self, vista, *args, **kwargs):
        super().__init__() 

        self.vista= vista # a tkinter root
        self.frame= Tk.Frame(self.vista)
        self.ground= Tk.Canvas(self.frame)
        self.board= Tk.Canvas(self.ground)

        self.frame.grid()
        self.ground.grid()
        self.board.grid()

        self.label= Label(self.ground, text= "title")
        self.label.grid(row= 0, sticky= 'new', columnspan= 2)

        self.scrollbar= Scrollbar(self.ground, orient= "vertical", command= self.board.yview)
        self.board.configure(yscrollcommand= self.scrollbar.set, scrollregion= self.board.bbox("all"))
        self.scrollbar.grid(row= 1, column= 1, sticky= 'nse')
        ...
        ...
        ...
        for self.topic in self.data: # an HTML element, can be thought of as a long list
            self.header= self.topic.attrib['title'] # 
            self.imagePath= self.topic.attrib['icon'] # an image with 110x110 dimensions
            self.image= PhotoImage(file= self.imagePath)

            self.menuButton= Button(self.board, text= self.header, 
                image= self.image
            self.menuButton.grid(row= self.r, column= self.c%3, sticky= "nsew")

            if self.c % 3 == 2: # increment row if column is divisible by 3
                self.r= self.r+1
            self.c= self.c+1

此处省略的各种按钮和小部件在代码中进一步网格化,导致需要将窗口扩展到屏幕之外,因此需要使用滚动条。但是,滚动条显示为灰色,即使绑定到画布,框架也不会滚动。

为按钮提供了110x110像素的图像,这些图像堆叠在“板”的屏幕之外。 “板”本身与“滚动条”一起网格化为“地面”。

0 个答案:

没有答案
相关问题