【发布时间】:2018-04-01 07:30:59
【问题描述】:
class table(Frame):
def __init__(self, parent,headings=None,data=None):
Frame.__init__(self, parent,relief='ridge')
self.parent=parent
self.headings=headings
self.data = data
self.CreateUI(self.headings)
self.LoadTable(self.data)
self.yscrollbar = Scrollbar(self.parent,orient=VERTICAL)
self.yscrollbar.grid(row=0,column=1,sticky = (N,S,W,E))
self.yscrollbar.config(command=self.treeview.yview)
self.treeview.config(yscrollcommand=self.yscrollbar.set)
self.xscrollbar = Scrollbar(self.parent,orient=HORIZONTAL)
self.xscrollbar.grid(row=1,column=0,sticky = (N,S,W,E))
self.treeview.config(xscrollcommand=self.xscrollbar.set)
self.xscrollbar.config(command=self.treeview.xview)
self.grid(row=0,column=0)
def CreateUI(self,headings):
tv = Treeview(self,height=20)
if(headings==None):
tv['columns'] = ('starttime', 'endtime', 'status')
else:
tv['columns'] = headings[1:]
tv.heading("#0", text=headings[0], anchor='w')
tv.column("#0", anchor="w")
for i in headings[1:]:
tv.heading(i, text=i)
tv.column(i, anchor='center')
tv.grid(sticky = (N,S,W,E))
self.treeview = tv
def LoadTable(self,data):
if(data==None):
for i in range(100):
self.treeview.insert('', 'end', text="first", values=('sdfa','asdfasd0','asdfasdf'))
self.treeview.insert('', 'end', text="Second", values=('sdfa','asdfasd0','asdfasdf'))
self.treeview.insert('', 'end', text="third", values=('sdfa','asdfasd0','asdfasdf'))
else:
for line in data:
self.treeview.insert('', 'end', text=line[0], values=line[1:])
从上面的代码中,我从树视图中创建了一个表格,我的 y 轴滚动工作完美,但我无法在 xscrollbar 上工作。请帮帮我谢谢。我附上了一张生成的 Treeview 的图像(像一张一样的表格)。 screeshot of my tkinter window
【问题讨论】:
标签: python tkinter treeview scrollbar