Ahoj, prosím o radu. Potřebuju mít rolovací oblast která obsahuje tabulku a checkboxy. Na fórech jsem se dočetl že v tkinter to jde dělat přes canvas. Dal jsem se tedy do programování a výsledek je níže. Problém je, že frame který sdružuje vše uvnitř nevyplní celý canvas (červená plocha). Hledal jsem jak to odstranit a narazil jsem pouze na jeden návod zde kde je ale vše OOP což jde mimo mne. Obracím se proto zde o radu co a jak upravit, případně jak to udělat jinak. Díky za případné rady.
from tkinter import *
import tkinter.ttk as ttk
HlavniOkno=Tk()
HlavniOkno.columnconfigure(0,weight=1)
HlavniOkno.rowconfigure(0,weight=1)
HlavniOkno.geometry("500x500")
OknoVstup=ttk.LabelFrame(HlavniOkno,text="Podokno")
OknoVstup.grid(row=0,column=0,sticky=N+S+E+W)
OknoVstup.columnconfigure(0,weight=1)
OknoVstup.rowconfigure(0,weight=1)
PosuvnikY=Scrollbar(OknoVstup)
PosuvnikY.grid(row=0,column=1,sticky=N+S)
PosuvnikX=Scrollbar(OknoVstup,orient="horizontal")
PosuvnikX.grid(row=1,column=0,sticky=E+W)
OknoOblast=Frame(OknoVstup)
OknoOblast.grid(row=0,column=0,sticky=N+S+E+W)
OknoOblast.columnconfigure(0,weight=1)
OknoOblast.rowconfigure(0,weight=1)
Kontejner=Canvas(OknoOblast,background="red",yscrollcommand=PosuvnikY.set,xscrollcommand=PosuvnikX.set)
Kontejner.grid(row=0,column=0,sticky=N+S+E+W)
PosuvnikY.config(command=Kontejner.yview)
PosuvnikX.config(command=Kontejner.xview)
OknoKontejner=Frame(Kontejner)
OknoKontejner.grid(row=0,column=0,sticky=N+S)
OknoKontejner.rowconfigure(1,weight=1)
NazvyBodu=["casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc","casasc"]
OknoPouzitProBf=LabelFrame(OknoKontejner,text="Použít")
OknoPouzitProBf.grid(row=0,column=0,sticky=E+W)
Tabulka=ttk.Treeview(master=OknoKontejner,columns=NazvyBodu,show='headings')
Tabulka.grid(row=1,column=0,sticky=N+S)
SlovnikPouzitProBf=dict()
for i in range(len(NazvyBodu)):
SlovnikPouzitProBf[i]=IntVar()
Checkbutton(OknoPouzitProBf,text="",variable=SlovnikPouzitProBf[i]).grid(row=0,column=i,stick=E+W)
Tabulka.heading(i,text=NazvyBodu[i])
OknoPouzitProBf.columnconfigure(i,weight=1)
Okno=Kontejner.create_window(0,0,anchor=N+W,window=OknoKontejner)
OknoKontejner.update_idletasks()
Kontejner.config(scrollregion=Kontejner.bbox("all"))
HlavniOkno.mainloop()