先上图

再上代码:

import ttk
from Tkinter import *
root = Tk()
tree = ttk.Treeview(root, columns=('col1','col2','col3'))
tree.column('col1', width=100, anchor='center')
tree.column('col2', width=100, anchor='center')
tree.column('col3', width=100, anchor='center')
tree.heading('col1', text='col1')
tree.heading('col2', text='col2')
tree.heading('col3', text='col3')
def onDBClick(event):
item = tree.selection()[0]
print "you clicked on ", tree.item(item, "values") for i in range(10):
tree.insert('',i,values=('a'+str(i),'b'+str(i),'c'+str(i)))
tree.bind("<Double-1>", onDBClick) tree.pack()
root.mainloop()

说点啥:

  • ttk貌似是python自带的。
  • Treeview本质上是一棵树。
  • 以上是弱化版,也就是我们通常见到的listview
  • 支持事件的绑定,通过tree.bind配合tree.item以及tree.selection()使用,可以针对单击,双击等事件写代码。

关于滚动条:

注意,滚动条是一个控件,而不是treeview的一个属性!

添加滚动条示例代码如下(其中水平滚动条是不会起作用的,原因参考这里):

# -*- coding:utf-8-*-
from Tkinter import *
import ttk
root = Tk()
root.geometry("800x600") tv = ttk.Treeview(root, height =10,columns=('c1','c2','c3'))
for i in range(1000):
tv.insert('',i,values=('a'+str(i),'b'+str(i),'c'+str(i)))
tv.pack() #----vertical scrollbar------------
vbar = ttk.Scrollbar(root,orient=VERTICAL,command=tv.yview)
tv.configure(yscrollcommand=vbar.set)
tv.grid(row=0,column=0,sticky=NSEW)
vbar.grid(row=0,column=1,sticky=NS) #----horizontal scrollbar----------
hbar = ttk.Scrollbar(root,orient=HORIZONTAL,command=tv.xview)
tv.configure(xscrollcommand=hbar.set)
hbar.grid(row=1,column=0,sticky=EW)
root.mainloop()

  

python tkinter用Treeview实现ListView效果的更多相关文章

  1. Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证

    Python tkinter 实现简单登陆注册 最终效果 开始界面 ​ 注册 登陆 ​ 源码 login.py # encoding=utf-8 from tkinter import * from ...

  2. Python Tkinter基础控件入门实例

    分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示.显示内置图片.弹出窗口.菜单等. 例子,Python Tkinter基础控件的用法 # -*- coding: utf-8 ...

  3. Python Tkinter 学习成果:点歌软件music

    笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...

  4. Python Tkinter Entry(文本框)

    Python学习记录--关于Tkinter Entry(文本框)的选项.方法说明,以及一些示例. 属性(Options) background(bg) borderwidth(bd) cursor e ...

  5. python tkinter Listbox用法

    python tkinter组件的Listbox的用法,见下面代码的演示: from tkinter import * root=Tk() v=StringVar() #Listbox与变量绑定' l ...

  6. python Tkinter之Button

    Button小部件是一个标准的Tkinter的部件,用于实现各种按钮.按钮可以包含文本或图像,您可以调用Python函数或方法用于每个按钮. Tkinter的按钮被按下时,会自动调用该函数或方法. 该 ...

  7. WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)

    原文:WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条) 对于TreeView而言: TreeViewAut ...

  8. python gui tkinter快速入门教程 | python tkinter tutorial

    本文首发于个人博客https://kezunlin.me/post/d5c57f56/,欢迎阅读最新内容! python tkinter tutorial Guide main ui messageb ...

  9. Python tkinter模块弹出窗口及传值回到主窗口操作详解

    这篇文章主要介绍了Python tkinter模块弹出窗口及传值回到主窗口操作,结合实例形式分析了Python使用tkinter模块实现的弹出窗口及参数传递相关操作技巧,需要的朋友可以参考下 本文实例 ...

随机推荐

  1. NodeJS

    http://nodejs.org/ http://www.nodebeginner.org/index-zh-cn.html Javascript Engines http://www.sencha ...

  2. Visual Studio 2012中Visual Assist破解办法

    本工具有两种破解方式 1.破解方式一:Visual_Assist_X_DiE.exe 运行Visual_Assist_X_DiE.exe,勾选安装的VC版本,点击“Patch”按钮即可. 2.破解方式 ...

  3. 彻底解决Eclipse自动补全变量名及变量名后面追加类型名

    彻底解决Eclipse自动补全变量名问题的方法步骤 发布于 2014-11-04 14:53   已被阅读 31613159 次 大家使用eclipse或者MyEclipse敲代码的时候,是不是都被这 ...

  4. Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n) (转)

    git pull的时候遇到 Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n) y 于 ...

  5. html 动态显示元素文本

    jquery easy ui:http://www.runoob.com/jeasyui/jeasyui-dd-shopping.html <html> <head> < ...

  6. fedora23忘记root密码怎么办??

    fedora23使用的是uefi, 不是 传统的grub 所以在编辑grub的时候, 跟以前的版本略有不同 最最重要的是: 在编辑启动条目的时候, 那个 linuxefi ... vmlinuz... ...

  7. RQNOJ659 计算系数

    http://www.rqnoj.cn/problem/659 描述 给定一个多项式(ax + by)^k,请求出多项式展开后x^n * y^m项的系数. 格式 输入格式 共一行,包含5个整数,分别为 ...

  8. [转载]onkeydown、onkeypress、onkeyup、onblur、o

    转载链接: http://blog.sina.com.cn/s/blog_697b2dc101014ktb.html onkeydown:按下任何键(字母.数字.系统.tab等)都能触发,且对于字母不 ...

  9. ASP页面-自动取回数据库中的值生成导航。

    以下为自己总结的一点经验,简单的介绍一下方法,如发现有误,请帮忙指正,谢谢. 一,首先定义调用据库. <% dim objconn,objconnstr set objconn=server.c ...

  10. 关于QT写注册表开机自启动

    注册表中权限: 1.HKEY_CURRENT_USER 2.HKEY_LOCAL_MACHINE 网上有很多帖子都是用的2,其实这样有违用户权限,而且如果不是管理员用户,会写入不成功! 代码如下: Q ...