Полоса прокрутки показывает, где находится, но отключена, и дополнительный контент не отображается.
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 пикселей, которые располагаются за пределами экрана на «доске». «доска» сама привязана к «земле» вместе с «полосой прокрутки».