首页 > 解决方案 > 如何修复不遵循配置的画布大小

问题描述

我创建了一个画布并使用(宽度,高度)指定了高度,但是当涉及到 GUI 时,它根本不会改变大小。

    atEdit=Frame(Attend,borderwidth=0)
    atEdit.grid(row=2,column=0,columnspan=5,sticky='news',pady=(0,10),padx=10)
    scrollbar = Scrollbar(atEdit)
    scrollbar.grid(row=0,column=5,sticky='ns')
    canvas = Canvas(atEdit,bg='black',height=20)
    canvas.grid(row=0,column=0,columnspan=5,sticky='news')
    scrollbar.config(command = canvas.yview)
    left = Frame(canvas,borderwidth=0,bg='#dbdbdb',height=2)
    left.grid(row=0,column=0,sticky='news')
    right=Frame(canvas,borderwidth=0,bg='white',height=2)
    right.grid(row=0,column=1,columnspan=4,sticky='news')
    left.bind('<Configure>',lambda event,canvas=canvas:self.onFrameConfigure(canvas))
    right.bind('<Configure>',lambda event,canvas=canvas:self.onFrameConfigure(canvas))

我将标签添加到“左”和“右”,这会增加框架的大小,但不应增长到大于指定大小。有没有办法让画布成为固定大小,即使我添加了更多标签,并且能够使用滚动条滚动它?

def onFrameConfigure(self,canvas):
    canvas.configure(scrollregion=canvas.bbox("all"))

标签: python-3.xtkintertkinter-canvas

解决方案


推荐阅读