使用python Tk的实现tablepanel+treeview
来源:互联网 发布:js获得窗口宽度 编辑:程序博客网 时间:2024/06/05 11:42
转发https://www.oschina.net/code/snippet_1033376_26310
from
tkinter
import
*
from
tkinter
import
ttk
import
sys
class
Application(Frame):
def
__init__(
self
,master):
Frame.__init__(
self
,master)
self
.pack()
self
.t
=
master
self
.createWidgets()
self
.lock1
=
0
self
.lock2
=
0
def
createWidgets(
self
):
self
.tb
=
ttk.Notebook(
self
,height
=
200
,width
=
300
)
self
.tree
=
ttk.Treeview(
self
)
ysb
=
ttk.Scrollbar(
self
, orient
=
'vertical'
, command
=
self
.tree.yview)
xsb
=
ttk.Scrollbar(
self
, orient
=
'horizontal'
, command
=
self
.tree.xview)
self
.tree.configure(yscroll
=
ysb.
set
, xscroll
=
xsb.
set
)
self
.tree.heading(
'#0'
, text
=
'Path'
, anchor
=
'w'
)
path
=
[
'首页'
,
'注册'
]
root_node
=
self
.tree.insert('
', '
end
', text='
功能',
open
=
True
)
self
.process_directory(root_node, path)
#构建一个grid
self
.tree.grid(row
=
0
, column
=
0
,sticky
=
'n'
)
ysb.grid(row
=
0
, column
=
1
, sticky
=
'ns'
)
xsb.grid(row
=
1
, column
=
0
, sticky
=
'ew'
)
self
.tb.grid(row
=
0
,column
=
2
)
self
.grid()
self
.tree.bind(
'<<TreeviewSelect>>'
,
self
.func)
def
process_directory(
self
, parent, path):
#遍历路径下的子目录
for
p
in
path:
oid
=
self
.tree.insert(parent,
'end'
, text
=
p,
open
=
False
)
def
func(
self
,event):
#返回对象为Tuple
select
=
self
.tree.selection()
select
=
select[
0
]
if
select
=
=
'I002'
and
self
.lock1
=
=
0
:
lable
=
Label(text
=
'欢迎登陆!'
,fg
=
'black'
)
self
.tb.add(lable,text
=
'首页'
)
self
.lock1
=
1
if
select
=
=
'I003'
and
self
.lock2
=
=
0
:
self
.child
=
Frame(
self
.t)
self
.name
=
StringVar()
self
.name.
set
(
'必填'
)
self
.psw
=
StringVar()
self
.psw.
set
(
'必填'
)
lb
=
Label(
self
.child,text
=
'用户名'
,fg
=
'black'
)
lb.grid(row
=
0
,column
=
0
,pady
=
15
,padx
=
10
,sticky
=
'se'
)
name
=
Entry(
self
.child)
name[
'textvariable'
]
=
self
.name
name.grid(row
=
0
,column
=
1
)
la
=
Label(
self
.child,text
=
'密码'
,fg
=
'black'
)
la.grid(row
=
1
,column
=
0
,padx
=
10
,sticky
=
'se'
)
psw
=
Entry(
self
.child)
psw[
'textvariable'
]
=
self
.psw
psw.grid(row
=
1
,column
=
1
)
style
=
ttk.Style()
style.
map
(
"C.TButton"
,foreground
=
[(
'pressed'
,
'red'
), (
'active'
,
'blue'
)],
background
=
[(
'pressed'
,
'!disabled'
,
'black'
), (
'active'
,
'white'
)])
btn1
=
ttk.Button(
self
.child,text
=
'提交'
,style
=
'C.TButton'
,command
=
self
.submit)
btn2
=
ttk.Button(
self
.child,text
=
'重置'
,style
=
'C.TButton'
,command
=
self
.reset)
btn1.grid(row
=
2
,column
=
0
,pady
=
10
,padx
=
10
,sticky
=
'e'
)
btn2.grid(row
=
2
,column
=
1
)
self
.tb.add(
self
.child,text
=
'修改密码'
)
self
.lock2
=
1
def
submit(
self
):
fp
=
open
(
'1.txt'
,
'w'
)
if
self
.name.get()!
=
'':
fp.writelines(
self
.name.get()
+
'\n'
)
if
self
.psw.get()!
=
'':
fp.writelines(
self
.psw.get())
fp.close()
def
reset(
self
):
self
.name.
set
('')
self
.psw.
set
('')
root
=
Tk()
app
=
Application(root)
app.mainloop()
阅读全文
0 0
- 使用python Tk的实现tablepanel+treeview
- tk-filters 的使用
- tk库的使用
- 使用TreeView的另一种实现
- Python TK 实现ping (二)
- Tk库的使用(1)
- Tk库的使用(2)
- 可爱的 Python:Python 中的 TK 编程
- Python下的TK(一)概述
- Tk:perl/Tk, TCL/Tk, python/Tk(Tkinter)示例
- 菜鸟文档::Tcl/Tk的使用环境
- TK域名的最新使用教程
- Tk/Tkx滚动条的使用
- Virtual Treeview 的实现
- 控件treeview的使用
- 关于TreeView 的使用
- treeview的使用小结
- TreeView的使用
- python3中替换python2中cmp函数的新函数
- 原型设计真的对用户体验那么重要吗?
- PHP 无限分类
- 前端开发工程师面试题2
- HAOI 2008 木棍分割
- 使用python Tk的实现tablepanel+treeview
- (CF2,包含尺度变化)tracker_ensemble程序简介
- 1006;IP判断
- nginx搭建和nginx_upstream_jvm_route安装配置
- 润乾报表V5连接mongodb数据库
- My97DatePicker日期控件在IE中页面reload后无权限
- Vue中的缩写:v-bind、v-on
- nodejs(3):使用 Ant Design 开发web项目
- Python中的生产者与消费者 实现多线程