tkinter中的滚动条,当窗口大小改变时,它会自动调整其大小

2024-09-30 06:18:48 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在stackoverflow上的第一篇文章。我一直在努力自学Python,这里的社区非常有帮助(问题和答案)。我正在尝试编写一个滚动条,它可以在窗口大小改变时自动调整其大小。我已经有了一个可以工作的滚动条,但它只能在我向画布添加小部件时工作,而不是在我调整画布大小时。在

我知道在tkinter中添加滚动条有点棘手,所以我想知道是否可以这样做。在

非常感谢你的帮助。在

下面是我用来创建滚动条的代码示例。如果您需要更多详细信息,请告诉我:-)

if sys.platform == 'darwin':
      self.canvas1 = Canvas(master, borderwidth = 0, width = 400)
else:
      self.canvas1 = Canvas(master, borderwidth = 0) 
self.canvas1.grid(row = 0 , column  = 0, sticky= N )




if sys.platform == "win32":
       self.canvas1.bind_all("<MouseWheel>", self._OnMouseWheel)
else:
       self.canvas1.bind('<Button-4>',self._OnMouseWheel)
       self.canvas1.bind('<Button-5>',self._OnMouseWheel)
self.leftframe = Frame(self.canvas1)
self.leftframe.bind("<Configure>", self.onFrameConfigure) 
self.vsb = Scrollbar(master, orient="vertical" ,activebackground = 'black', command=self.canvas1.yview)
self.canvas1.configure(yscrollcommand = self.vsb.set, height = 600)
self.vsb.grid(row = 0 , column = 0 , sticky = N+S+E)

self.canvas1.create_window((4,4), window=self.leftframe, anchor="nw", tags="self.leftframe")

以下是我使用的两个附加函数:

^{pr2}$

Tags: selfmasterifbind画布syselsegrid

热门问题