您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:09-07来源:作者:点击数:

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

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()

运行效果如下图所示:

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门