python学习-->tkinter模块学习之Menubar(菜单)

大家好!

今天分享一下关于tkinter中Menubar方法的学习例子!

我们今天用Menubar帮助我们实现平时窗口左上角的菜单功能!相信我们都用过记事本吧,打开记事本左上角就有新建、新窗口的功能等等,下面图片展示一下:

 我们今天就是实现这个布局,具体点击之后我们先用在标签显示对应的文本先咯!

那我们看看我今天实现的菜单是怎么样的!!

展示:

 我们点击之后标签上面会显示不一样的内容:

        

 这是点击之后的显示的do0内容

 当然这个菜单功能还可以继续增加完善,今天做演示就不做太多了,有兴趣的可以继续增加,就好像一开始的记事本窗口菜单一样很多功能!!!!

我们下面看看完整的代码:

# 导入tkinter 模块
import tkinter as tk

# 创建一个窗口对象
window = tk.Tk()
# 设置一下窗口标题
window.title("My Window")
# 设置窗口的大小
window.geometry("720x550")

# 创建一个标签
l = tk.Label(window, text="应该输入点什么呢?????", bg="red")
l.pack()
# 一个计数变量
counter = 0


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


# 创建一个菜单对象设置到对应窗口
menu_bar = tk.Menu(window)

# 创建一个file属性的列,安置在菜单上面
# 参数一就是这个意思, 参数二代表是否分开显示(就是把那个列表拖出到菜单外显示)默认零
file_menu = tk.Menu(menu_bar, tearoff=0)

# 创建File列,安置在file_menu上
menu_bar.add_cascade(label="File", menu=file_menu)
# 对应的字选项执行的功能就是由command对应设置的函数决定,然后第一个是这一列的新建的功能名字,第二个参数是名字
file_menu.add_command(label="New", command=do_job)
file_menu.add_command(label="Save", command=do_job)
file_menu.add_command(label="Open", command=do_job)

# 增加一个显示条(具有分割意义)
file_menu.add_separator()
file_menu.add_command(label="Exit", command=do_job)
# 创建一个edit属性的列,安置在菜单上面
# 设置方法与上面雷同
edit_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="Edit", menu=edit_menu)
edit_menu.add_command(label="Cut", command=do_job)
edit_menu.add_command(label="Paste", command=do_job)

# 最后把菜单绘画在窗口上面
window.config(menu=menu_bar)
# 显示
window.mainloop()

完成以上,我们可以分为几个步骤!

第一步当然是创建窗口了!不清楚的可以看看这里创建窗口

第二步是创建用来显示滑条动图变化的标签,不清楚可以看看这里创建标签案例

第三步就是我们创建Menubar对象:

# 创建一个菜单对象设置到对应窗口
menu_bar = tk.Menu(window)

# 创建一个file属性的列,安置在菜单上面
# 参数一就是这个意思, 参数二代表是否分开显示(就是把那个列表拖出到菜单外显示)默认零
file_menu = tk.Menu(menu_bar, tearoff=0)

# 创建File列,安置在file_menu上
menu_bar.add_cascade(label="File", menu=file_menu)
# 对应的字选项执行的功能就是由command对应设置的函数决定,然后第一个是这一列的新建的功能名字,第二个参数是名字
file_menu.add_command(label="New", command=do_job)
file_menu.add_command(label="Save", command=do_job)
file_menu.add_command(label="Open", command=do_job)

# 增加一个显示条(具有分割意义)
file_menu.add_separator()
# 继续file列的功能选项,依次递增
file_menu.add_command(label="Exit", command=do_job)
# 创建一个edit属性的列,安置在菜单上面
# 设置方法与上面雷同
edit_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="Edit", menu=edit_menu)
edit_menu.add_command(label="Cut", command=do_job)
edit_menu.add_command(label="Paste", command=do_job)

# 最后把菜单绘画在窗口上面
window.config(menu=menu_bar)
# 增加一个显示条(具有分割意义)
file_menu.add_separator()

 这一行代码就是增加了Exit上面或者Open下面的那一条划线

 最后把定义一下显示函数:

# 一个计数变量
counter = 0

"""这里功能就是无论你点击是菜单上面哪一列的选项功能,点击一次就counter就加一,实现每次点击之后,标签都有改变,比如一开始do0,然后do1......."""
def do_job():
    global counter
    # 将内容显示在标签上面
    l.config(text="do" + str(counter))
    counter += 1

记得调用一下mainloop()函数哦!

完成所有步骤之后,我们就可以顺利运行代码了!

     

好了!

今天分享的学习案例就这么多了!

如果有上面有什么不对,或者有什么想交流的,请私信或者评论我吧!!!

世界杯进行时,祝各位心想事成!!!

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值