Я пытаюсь поместить виджет Treeview с некоторой датой в рамку с полосой прокрутки, и я хочу, чтобы древовидная структура заполнялась вертикально ... Но все, что я пытаюсь (либо с пакетом (fill = 'y'), либо с сеткой (sitcky)= 'ns') он не расширяется в направлении 'y'.
Вот код, который я пытаюсь использовать:
class TVTEf2(ttk.Frame):
def __init__(self,parent):
ttk.Frame.__init__(self,parent)
# self.grid(sticky='ns')
self.pack(anchor='w',fill='both')
self.initialize()
def initialize(self):
self.tree = ttk.Treeview(self,selectmode='browse')
self.vsb = ttk.Scrollbar(self,orient="vertical",command=self.tree.yview)
self.tree.configure(yscrollcommand=self.vsb.set)
self.columns = ("Ligne","Voie","Support","Date SPOT","Statut")
self.csize = [50,50,50,75,50]
self.tree["columns"] = self.columns
self.tree['show'] = 'headings'
self.tree.insert("",'end',text="L1",values=(format(570000,'06.0f'),"V1",'323/01','01/01/2018',"Non fait"))
self.tree.insert("",'end',text="L2",values=(format(570000,'06.0f'),"V1",'323/03','01/01/2018',"Non fait"))
self.tree.insert("",'end',text="L3",values=(format(570000,'06.0f'),"V1",'323/05','01/01/2018',"Non fait"))
self.tree.insert("",'end',text="L4",values=(format(570000,'06.0f'),"V2",'323/08','01/01/2018',"Non fait"))
self.vsb.pack(anchor='e', fill='y', side='left')
self.tree.pack(side='left',fill='both')
# self.vsb.grid(column=1,row=0,sticky='ns')
# self.tree.grid(column=0,row=0,sticky='ns')
for k in range(len(self.columns)):
col =self.columns[k]
sz = self.csize[k]
self.tree.column(col,minwidth=0,width=sz, stretch='no')
for col in self.columns:
self.tree.heading(col, text=col, command=lambda _col=col: \
treeview_sort_column(self.tree, _col, False))
if __name__ == "__main__":
root = Tkinter.Tk()
root.rowconfigure(0, weight=0)
root.columnconfigure(0, weight=1)
root.title('')
pad=3
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))
app = TVTEf2(root)
app.mainloop()
Вид дерева, который я получаю, очень мал ...
Если у кого-то есть идеи ... Большое спасибо