猫史档案馆


【Python作品分享】菜单条【教程贴】

用户:EUWEUW查看:0 回复:1 评论:0 创建时间:2024-07-16T18:00:48


【作品展示】

center_image

 

【作品介绍】

python窗口中的菜单条

有易理解的注释

 

【作品源代码】

import tkinter as tk  # 使用Tkinter前需要先导入

# 第1步,实例化object,建立窗口window
window = tk.Tk()

# 第2步,给窗口的可视化起名字
window.title('菜单条')

# 第3步,设定窗口的大小(长 * 宽)
window.geometry('200x100')  # 这里的乘是小x

# 第4步,在图形界面上创建一个标签用以显示内容并放置
l = tk.Label(window, text='      ', bg='red')
l.pack()

# 第10步,定义一个函数功能,用来代表菜单选项的功能,这里为了操作简单,定义的功能比较简单
counter = 0


def do_job():
    global counter
    l.config(text='do ' + str(counter))
    counter += 1


# 第5步,创建一个菜单栏,这里我们可以把他理解成一个容器,在窗口的上方
menubar = tk.Menu(window)

# 第6步,创建一个A菜单项(默认不下拉,下拉内容包括New,Open,Save,Exit功能项)
filemenu = tk.Menu(menubar, tearoff=0)
# 将上面定义的空菜单命名为A,放在菜单栏中,就是装入那个容器中
menubar.add_cascade(label='A', menu=filemenu)

# 在File中加入1、2、3等小菜单,即我们平时看到的下拉菜单,每一个小菜单对应命令操作。
filemenu.add_command(label='1', command=do_job)
filemenu.add_command(label='2', command=do_job)
filemenu.add_command(label='3', command=do_job)
filemenu.add_separator()    # 添加一条分隔线
# 用tkinter里面自带的quit()函数
filemenu.add_command(label='4', command=window.quit)

# 第7步,创建一个B菜单项(默认不下拉,下拉内容包括Cut,Copy,Paste功能项)
editmenu = tk.Menu(menubar, tearoff=0)
# 将上面定义的空菜单命名为 B,放在菜单栏中,就是装入那个容器中
menubar.add_cascade(label='B', menu=editmenu)

# 同样的在 B 中加入11、22、33等小命令功能单元,如果点击这些单元, 就会触发do_job的功能
editmenu.add_command(label='11', command=do_job)
editmenu.add_command(label='22', command=do_job)
editmenu.add_command(label='33', command=do_job)

# 第8步,创建第二级菜单,即菜单项里面的菜单
submenu = tk.Menu(filemenu)  # 和上面定义菜单一样,不过此处实在File上创建一个空的菜单
filemenu.add_cascade(label='5', menu=submenu,
                     underline=0)  # 给放入的菜单submenu命名为Import

# 第9步,创建第三级菜单命令,即菜单项里面的菜单项里面的菜单命令(有点拗口,笑~~~)
# 这里和上面创建原理也一样,在Import菜单项中加入一个小菜单命令Submenu_1
submenu.add_command(label='A5', command=do_job)

# 第11步,创建菜单栏完成后,配置让菜单栏menubar显示出来
window.config(menu=menubar)

# 第12步,主窗口循环显示
window.mainloop()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
科学边界科学边界

现在这么多人开始学tkinter了吗???

点赞0


评论