前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+tkinter实现任意多层级关系的组合框

Python+tkinter实现任意多层级关系的组合框

作者头像
Python小屋屋主
发布2018-04-16 14:27:16
1.4K0
发布2018-04-16 14:27:16
举报
文章被收录于专栏:Python小屋Python小屋

正好自己要用,就想了个简单思路实现了一下,假设现在需要一个组合框来显示多个层级关系的单位名称供用户选择,如果只有固定的两级关系当然可以使用两个组合框联动来实现,但是如果层级关系不确定,下面的方法就很有用了。

import tkinter

import tkinter.ttk

testData = {'01':'学校一',

'02':'学校二',

'03':'学校三',

'0101':'学校一年级一',

'010101':'学校一年级一班级一',

'0102':'学校一年级二'}

#按单位编码进行排序

data = sorted(testData.items(), key=lambda x: x[0])

#编码越长,表示单位名称越小,嵌套关系越深

#编码长的单位名称前面加的空格也多

data = [(len(item[0])-2)*2*' '+item[1] for item in data]

root = tkinter.Tk()

root.title('NestedRelation_Combobox')

root['height'] = 200

root['width'] = 320

comboSchool = tkinter.ttk.Combobox(root, values = data, width=160)

comboSchool.place(x=10, y=10, width=160, height=20)

root.mainloop()

运行效果如下图所示:

温馨提示:单击文章顶部作者名字旁边浅蓝色的“Python小屋”进入公众号,关注后可以查看更多内容!

欢迎转发给您的朋友,或许这正是Ta需要的知识!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档