友情提示:380元/半年,儿童学编程,就上码丁实验室。
tkinter之下拉菜单
Menu组件简介
先看一个效果:
Menu菜单
这种创建方式将只会创建一个主菜单(menubar),注意主菜单是依附于主窗口上的。主菜单添加菜单的命令是add_command。
再看如何添加下拉菜单:
下拉菜单
解释:
submenu = Menu(menubar, tearoff=0)
该行代码创建一个子菜单栏(其只是一个容器,还需要向其中添加具体的菜单项),其是依附于主菜单的,这点很重要,后面的参数teeroff如果设置为1则子菜单变可以独立出来,如下图:
trearoff参数
tearoff参数用法
submenu.add_command(label="Open", command=hello)
向子菜单中添加菜单项。
submenu.add_separator()
添加分隔符,Save和Exit之间的横线。
menubar.add_cascade(label="File", menu=submenu)
主菜单中添加菜单项,并关联上子菜单。
window.config(menu=menubar)
显示菜单。
结合Shelve模块来显示文件
用到前面一个例子的文件:
如何将Python对象保存到本地文件中?
代码如下:
Python代码
界面如下:
选择下拉菜单之前
选择人员之后
解释:
entr[field].insert(0,repr(getattr(record,field)))
1.该行代码为什么要使用repr函数呢?
首先输入框中输入的参数一定要是字符串。之所以要使用该函数,是因为getattr函数获取到的属性并不都是字符串。例如例子中的‘王 二’,其job是None,薪水是0就都不是字符串,如果不使用repr函数的话将会出现错误。
2.为什么不使用str函数呢?
在本例中,是可以使用str函数的,使用str函数后的效果如下:
字符创将不会有引号
3.比较一下str函数与repr函数:
str与repr
喜欢本文,欢迎大家转发哦,谢谢大家!