这是我用来创建可滚动区域的代码。但是,如果我有扩展可见窗口的小部件(例如包含其他元素的框架,并且必须在下面的代码中放置该小部件,否则我将无法访问内置在画布上的框架),则它们会覆盖滚动条,从而阻止我滚动。有什么办法可以防止这种情况的发生,例如始终将滚动条置于最前面?
self.canvas1 = Canvas(self, width=1280, height=750, scrollregion=(0,0,2000,700))
self.horizontalscroll = Scrollbar(self, orient=HORIZONTAL)
self.horizontalscroll.pack(side=BOTTOM, fill=X)
self.horizontalscroll.config(command=self.canvas1.xview)
self.verticalscroll = Scrollbar(self, orient=VERTICAL)
self.verticalscroll.pack(side=RIGHT, fill=Y)
self.verticalscroll.config(command=self.canvas1.yview)
self.canvas1.config(xscrollcommand=self.horizontalscroll.set, yscrollcommand=self.verticalscroll.set)
self.canvas1.pack(fill=BOTH, expand=True)
self.frame1 = Frame(self)
self.MainWindowSimple = self.canvas1.create_window(0, 0, window=self.frame1, anchor='nw')
答案 0 :(得分:1)
在绘制滚动条之前绘制小部件。通常,pack
将小部件绘制到屏幕/界面上。打包其他小部件后,可以将pack
用于滚动条。