设置滚动条以使用treevi

2024-10-04 09:17:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在这里向树添加一个滚动条,以便在视图中为用户保留数据,因为树延伸到屏幕外(窗口限制为1280x720)。但是,滚动条不会将其移动。代码如下:

self.treeFrame = ttk.Frame(self)
    self.treeFrame.grid(row = 12,column = 0,columnspan = 1000,rowspan = 100)



    self.tree = ttk.Treeview(self.treeFrame,height = 100, columns = ('name','purchaseprice','previousprices','listingprice','buyingformat','postage','fees','potprofit','offers','viewcount','sold','offertaken','username','dispatch','delivered','returned','relist','feedback'))
    self.tree.heading('#0',text = 'saleID',anchor = 'w')
    self.tree.heading('name',text = "Item Name",anchor = 'w')
    self.tree.heading('purchaseprice',text = "Purchase Price",anchor = 'w')
    self.tree.heading('previousprices',text = "Previous Prices",anchor = 'w')
    self.tree.heading('listingprice',text = "Listing Price", anchor = 'w')
    self.tree.heading('buyingformat',text = "Buying Format",anchor = 'w')
    self.tree.heading('postage',text = "Postage",anchor = 'w')
    self.tree.heading('fees',text = "Fees",anchor = 'w')
    self.tree.heading('potprofit',text = "Potential Profit",anchor = 'w')
    self.tree.heading('offers',text = "Best Offer",anchor = 'w')
    self.tree.heading('viewcount',text = "Viewcount",anchor = 'w')
    self.tree.heading('sold',text = "Sold?",anchor = 'w')
    self.tree.heading('offertaken',text = "Offer Taken?",anchor = 'w')
    self.tree.heading('username',text = "Username",anchor = 'w')
    self.tree.heading('dispatch',text = "Dispatched?",anchor = 'w')
    self.tree.heading('delivered',text = "Delivered?",anchor = 'w')
    self.tree.heading('returned',text = "Returned?",anchor = 'w')
    self.tree.heading('relist',text = "Relisted?",anchor = 'w')
    self.tree.heading('feedback',text = "Feedback",anchor = 'w')

    hsb = ttk.Scrollbar(self,orient = "horizontal")
    self.tree.grid(row = 14,column = 0,sticky ='nsew')
    hsb.grid(row = 11,column = 0,columnspan = 10,sticky = 'ew')
    hsb.config(command = self.tree.xview)

有人知道我会如何限制树的大小,以便使它进入一个可以在窗口的边界上滚动的位置吗


Tags: textnameselftreecolumngridrowanchor
1条回答
网友
1楼 · 发布于 2024-10-04 09:17:55

当用户移动滚动条时,滚动条需要被告知要运行哪个命令,小部件需要知道滚动条后要运行哪个命令。你两个都不能做

例如,在代码中,您需要同时执行以下两个操作:

hsb.configure(command=self.tree.xview)
self.tree.configure(xscrollcommand=hsb.set)

相关问题 更多 >