繁体   English   中英

为什么可滚动画布中的按钮不移动? (Python3 + tkinter)

[英]Why a button in a scrollable canvas doesn't move? (Python3 + tkinter)

我正在尝试使用 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() 对象。 你对这个问题有什么解决办法吗?

PS:我还有一个问题:当我运行我的程序时,包含按钮的画布适合按钮宽度,是否可以在不改变画布宽度的情况下放置按钮?

画布无法滚动使用packplacegrid添加的项目。 它只会滚动使用create_window方法添加的小部件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM