Как исправить размер холста, не следуя конфигурации - PullRequest
0 голосов
/ 02 января 2019

Я создал холст и указал высоту, используя (ширина, высота), но когда дело доходит до графического интерфейса, он вообще не меняет размер.

    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))

Я добавляю метки в'left' и 'right', которые увеличивают размер фреймов, но не должны увеличиваться больше указанного размера.Есть ли способ сделать холст фиксированного размера, даже если я добавлю к нему больше меток и смогу прокручивать его с помощью полосы прокрутки?

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