【发布时间】:2020-03-12 15:30:53
【问题描述】:
我有一个使用 python 3 制作的 tkinter 应用程序的问题。我尝试在不使用框架容器的情况下创建一个画布小部件,并尝试在我的画布上添加两个滚动条,一个是垂直的,另一个是水平的,在这里是代码:
class drawCavnas(object):
def __init__(self, master, width=500, height=500):
''' build the canvas object '''
# class attributes
self.master = master
self.cWidth = width
self.cHeight = height
# creating the canvas object
self.canvas = tk.Canvas(self.master, width=self.cWidth, height=self.cHeight, bg="green")
self.canvas.grid(row=0, column=1, sticky="nwes")
self.canvas.configure(scrollregion=self.canvas.bbox("all"))
# creating the scrolling
self.scroll_x = tk.Scrollbar(self.master, orient="horizontal", command=self.canvas.xview)
self.scroll_x.grid(row=1, column=1, sticky="ew")
self.scroll_y = tk.Scrollbar(self.master, orient="vertical", command=self.canvas.yview)
self.scroll_y.grid(row=0, column=2, sticky="ns")
self.canvas.configure(yscrollcommand=self.scroll_y.set, xscrollcommand=self.scroll_x.set)
master 是使用 tk.Tk() 创建的窗口。这里的问题是,一旦我运行了程序并创建了窗口,画布工具栏就被禁用了,我无法与它们交互。我试图调整窗口大小,但画布也调整大小。那你有解决办法吗?
【问题讨论】:
-
请提供一个可测试的例子。也就是说,到目前为止,您还没有更新滚动区域的方法,因此这可能是问题的一部分。当您说“禁用”时,您的意思是变灰还是没有滑块可拖动?
-
@jizhihaoSAMA 请不要尝试在问题中添加代码。 OP 必须是更新它的人。他们的原始代码中可能有一些东西会导致问题,或者是您修改 OP 代码时可能遗漏的其他问题的一部分。
-
好的。我以后会注意的。谢谢
标签: python-3.x tkinter scrollbar tkinter-canvas