tkinter中treeview控件使用垂直,水平滚动条示例

感谢: ukuu的博客

from tkinter import *  # 导入窗口控件
from tkinter import ttk
root=Tk () #创建窗口
root.title("label-test")
root.geometry("800x900+300+100") #小写x代表乘号500x400为窗口大小,+500+300窗口显示位置
root.columnconfigure(0, weight=1)
tree = ttk.Treeview(root, show="headings") #表格第一列不显示
tree.grid(row=1, columnspan=1)
tree["columns"] = ("序号", "企业名称", "详细信息","aa")
# 设置列,不显示
tree.column("序号", width=100)
tree.column("企业名称", width=100)
tree.column("详细信息", width=300)
tree.column("aa", width=300)
# 显示表头
tree.heading("序号", text="序号")
tree.heading("企业名称", text="企业名称")
tree.heading("详细信息", text="详细信息")
tree.heading("aa", text="aa")



i = 0
ii = 0
name = "辽宁忠旺集团"
addurl = "辽宁省沈阳市铁西区22号"
aa = ".........................................................."
tree.insert("", i, text="", values=(i, name, addurl, aa))
tree.insert("", i, text="", values=(ii, "1", addurl, aa))
tree.insert("", i, text="", values=(ii, "2", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
tree.insert("", i, text="", values=(ii, "3", addurl, aa))
"""
    定义滚动条控件
    orient为滚动条的方向,vertical--纵向,horizontal--横向
    command=tree.yview 将滚动条绑定到treeview控件的Y轴
"""
#scroll_ty = Scrollbar(root, orient=VERTICAL, command=tree.yview)
#scroll_ty.grid(row=1, column=1, sticky=N+S)
#tree['yscrollcommand']=scroll_ty.set

# ----vertical scrollbar------------
vbar = ttk.Scrollbar(root, orient=VERTICAL, command=tree.yview)
tree.configure(yscrollcommand=vbar.set)
#tree.grid(row=0, column=0, sticky=NSEW)
vbar.grid(row=1, column=1, sticky=NS)

# ----horizontal scrollbar----------
hbar = ttk.Scrollbar(root, orient=HORIZONTAL, command=tree.xview)
tree.configure(xscrollcommand=hbar.set)
hbar.grid(row=3, column=0, sticky=EW)


root.mainloop() #显示窗口  mainloop 消息循环







阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Tkinter 添加水平滚动条需要使用 `Scrollbar` 和 `Canvas` 组件。首先创建一个 `Canvas`,并将 `yscrollcommand` 设置为一个 `Scrollbar` 对象,再将 `Scrollbar` 的 `command` 设置为 `Canvas` 的 `yview` 方法。然后使用 `pack()` 或 `grid()` 将 `Canvas` 和 `Scrollbar` 放置到窗口。最后可以使用 `create_window()` 将需要滚动的组件添加到 `Canvas` 。 下面是一个简单的示例代码,可以实现一个带有水平滚动条的窗口: ```python import tkinter as tk root = tk.Tk() # 创建一个 Canvas canvas = tk.Canvas(root, width=300, height=200, bg='white') canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 创建一个水平滚动条 h_scrollbar = tk.Scrollbar(root, orient=tk.HORIZONTAL, command=canvas.xview) h_scrollbar.pack(side=tk.BOTTOM, fill=tk.X) # 将 Canvas 的 xscrollcommand 设置为水平滚动条的 set 方法 canvas.configure(xscrollcommand=h_scrollbar.set) # 添加一个需要滚动的组件,这里使用一个 Label 作为示例 label = tk.Label(canvas, text='Hello, world!', font=('Arial', 20)) canvas.create_window((0, 0), window=label, anchor='nw') # 更新 Canvas 的可滚动区域 canvas.update_idletasks() canvas.configure(scrollregion=canvas.bbox('all')) root.mainloop() ``` 在上面的代码,我们创建了一个大小为 300x200 的 `Canvas`,并将它放置在窗口的左侧。然后创建了一个水平滚动条,并将它放置在窗口的底部。将 `Canvas` 的 `xscrollcommand` 设置为水平滚动条的 `set` 方法,这样当水平滚动滚动时,`Canvas` 的可视区域也会相应地滚动。最后使用 `create_window()` 将一个 `Label` 添加到 `Canvas` ,并更新 `Canvas` 的可滚动区域,以确保滚动条能够正确工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Newnotes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值