self.tree.configure(yscrollcommand=self.vbar.set)
时间: 2024-05-18 22:14:37 浏览: 23
这是一个将Treeview表格部件和滚动条关联起来的代码行。其中,self.tree是一个Treeview表格部件,yscrollcommand是Treeview部件的一个选项,用于设置纵向滚动条的位置。self.vbar是一个Scrollbar部件,set()是Scrollbar部件的一个方法,用于设置当前滚动条的位置。
这个命令将Treeview表格部件和Scrollbar部件关联起来,使得在滚动条上拖动时,Treeview部件的内容会跟着滚动,并且在滚动条上拖动时,滚动条的位置也会被更新到Treeview部件的当前位置。
相关问题
self.frame_left_top = tk.Frame(width=300, height=200) self.frame_right_top = tk.Frame(width=200, height=200) self.frame_center = tk.Frame(width=500, height=400) self.frame_bottom = tk.Frame(width=650, height=50) self.columns = ("编号", "姓名", "密码", "借阅数量") self.tree = ttk.Treeview(self.frame_center, show="headings", height=18, columns=self.columns) self.vbar = ttk.Scrollbar(self.frame_center, orient=VERTICAL, command=self.tree.yview) self.tree.configure(yscrollcommand=self.vbar.set) self.tree.column("编号", width=150, anchor='center') self.tree.column("姓名", width=150, anchor='center') self.tree.column("密码", width=100, anchor='center') self.tree.column("借阅数量", width=100, anchor='center') self.tree.grid(row=0, column=0, sticky=NSEW) self.vbar.grid(row=0, column=1, sticky=NS)
这段代码是用 Python 的 tkinter 模块创建一个 GUI 界面,包含四个框架(frame_left_top, frame_right_top, frame_center, frame_bottom),其中 frame_center 中有一个 ttk.Treeview 控件和一个 ttk.Scrollbar 控件,用于显示表格数据,并且设置了表格的列名和宽度。最后使用 grid() 方法将 Treeview 和 Scrollbar 放置在 frame_center 中。
仍然不起作用: self.columns = ("编号", "药品名", "产名", "库存", "价格","存放位置","生产日期","有效期") self.tree = ttk.Treeview(self.frame_tableshow, show="headings", height=25, columns=self.columns) self.vbar = ttk.Scrollbar(self.frame_tableshow, orient=VERTICAL, command=self.tree.yview) self.hbar = ttk.Scrollbar(self.frame_tableshow, orient=HORIZONTAL, command=self.tree.xview) # 定义树形结构与滚动条 self.tree.configure(yscrollcommand=self.vbar.set,xscrollcommand=self.hbar.set) # 表格的标题 self.tree.column("编号", width=100, anchor='center') # 表示列,不显示 self.tree.column("药品名", width=200, anchor='center') self.tree.column("产名", width=90, anchor='center') self.tree.column("库存", width=60, anchor='center') self.tree.column("价格", width=60, anchor='center') self.tree.column("存放位置",width=200,anchor='center') self.tree.column("生产日期",width=150,anchor='center') self.tree.column("有效期", width=150, anchor='center') # 调用方法获取表格内容插入 self.tree.grid(row=0, column=0, sticky=NSEW) self.vbar.grid(row=0, column=1, sticky=NS)#没看出来有什么用 self.hbar.grid(row=1,column=0, sticky=EW)
如果你已经将 `ttk.Scrollbar` 控件正确地放置在了 `ttk.Treeview` 控件的下方,但横向滚动条仍然无法正常工作,那么可能是因为你忘记了设置 `ttk.Treeview` 控件的 `xscrollcommand` 属性。
在你的代码中,你已经将 `ttk.Treeview` 控件的 `xscrollcommand` 属性设置为了 `self.hbar.set`,但如果你的滚动条仍然无法正常工作,可以尝试在 `ttk.Treeview` 控件的 `grid` 或 `pack` 方法中,使用 `xscrollcommand` 参数将滚动条与控件关联。
以下是一个示例代码:
```python
self.tree.grid(row=0, column=0, sticky=NSEW, xscrollcommand=self.hbar.set)
self.vbar.grid(row=0, column=1, sticky=NS)
self.hbar.grid(row=1, column=0, sticky=EW)
```
在这个示例中,我们使用 `xscrollcommand` 参数将 `self.hbar` 控件与 `self.tree` 控件关联。这将确保 `self.hbar` 控件能够正确地控制 `self.tree` 控件的横向滚动。
请注意,如果你的代码中使用了其他布局方法(如 `pack`),你需要根据自己的需要进行调整。
阅读全文