【发布时间】:2020-03-12 21:57:55
【问题描述】:
我正在尝试使用 tkinter 模块在 python3 中编写程序。我创建了一个带有 y 滚动条的画布小部件,但是当我尝试在画布中添加一个按钮并滚动区域时,该按钮不会移动。代码如下:
# defining the tool bar
class toolBar(object):
def __init__(self, master):
''' creates the toolbar object '''
self.master = master
# creating the toolbarobject
self.toolbar = tk.Canvas(self.master, width=70, height=200, bg="lightgrey")
self.toolbar.grid(row=0, column=1, sticky="nwes", rowspan=2)
self.toolbar.configure(scrollregion=(0, 0, 0, 2000))
b1 = tk.Button(self.toolbar, text="Try")
b1.grid()
# creating the y scrollling
self.scroll_y = tk.Scrollbar(self.parent.master, orient="vertical", command=self.toolbar.yview)
self.scroll_y.grid(row=0, column=0, sticky="ns", rowspan=2)
self.toolbar.configure(yscrollcommand=self.scroll_y.set)
其中 master 是传递给类的 tk.Tk() 对象。你有解决这个问题的办法吗?
P.S.:我还有一个问题:当我运行我的程序时,包含按钮的画布适合按钮宽度,是否可以在不改变画布宽度的情况下放置按钮?
【问题讨论】:
标签: python-3.x button tkinter scrollbar tkinter-canvas