Python中tkinter编程入门7

在tkinter中,可以通过Menu类为窗口创建工具栏菜单。

1 工具栏菜单的创建

1.1 单层菜单的创建

1.1.1 实例化菜单类

要为窗口创建工具栏菜单,首先要实例化菜单类,代码如图1所示。

图1 实例化菜单类

其中,Menu的参数win指定了菜单所属的窗口,menubar即为Menu类的实例。

1.1.2 添加菜单项

通过menubar添加菜单项,代码如图2所示。

图2 添加菜单项

通过Menu类的实例,调用了add_command()方法添加菜单项。其中,label参数表示添加菜单项的内容。以上代码的作用是为menubar菜单添加了两项,一项是“播放音乐”,另外一项是“停止播放”。

1.1.3 关联窗口与菜单

通过窗口实例win将窗口与菜单关联,代码如图3所示。

图3 关联窗口与菜单

其中,config()方法的作用是对窗口进行配置,menu参数表示指定窗口的菜单,menubar即为创建的工具栏菜单。

1.1.4 运行效果

添加工具栏菜单之后的窗口,如图4所示。

图4 运行效果

1.2 多层菜单的创建

多层菜单中的项会含有子菜单,如图5所示。

图5 多层菜单

从图5中可以看出,窗口的工具栏菜单“文件”,又包含了子菜单“打开”和“新建”。

1.2.1 创建子菜单

通过图6所示的代码创建子菜单。

图6 创建子菜单

sub_menubar即为创建的子菜单,Menu的第一个参数表示创建的子菜单属于menubar工具栏菜单,tearoff参数设置为False表示子菜单中不含有分割线。

1.2.2 添加子菜单项

通过图7所示的代码添加子菜单项。

图7 添加子菜单项

其中,add_command()方法在“1.1.2 添加菜单项”中已经介绍。

1.2.3 关联工具栏菜单与子菜单

通过图8所示的代码关联工具栏菜单与子菜单。

图8 关联工具栏菜单与子菜单

其中,menubar是工具栏菜单,通过该变量调用的add_cascade()方法来为菜单添加子菜单。label参数指定了子菜单项显示的内容,menu参数指定了添加的子菜单,sub_menubar即为在“1.2.1 创建子菜单”中创建的子菜单。以上代码运行的效果如图5所示。

2 菜单项响应的添加

菜单项响应,就是当点击了某个菜单项后,完成的动作。例如,当点击了“播放音乐”项后,指定的音频文件就会播放,当点击了“停止播放”后,音频播放就会停止。在创建菜单项时,指定该菜单项的响应函数即可。将图2所示的代码修改为图9所示的代码。

图9 菜单项响应的添加

其中,command参数表示菜单项响应函数,play()和stop()是自定义函数,功能分别是播放指定的音频文件和停止播放,请参考《Python中tkinter编程入门6-CSDN博客》。

3 完整代码

完整代码如图下所示。

import pygame
import tkinter

def play():
    pygame.mixer.music.load('d:/1.mp3')
    pygame.mixer.music.play()

def stop():
    pygame.mixer.music.stop()
    pygame.mixer.music.unload()

win = tkinter.Tk()

menubar = tkinter.Menu(win)
menubar.add_command(label='播放音乐', command=play)
menubar.add_command(label='停止播放', command=stop)

sub_menubar = tkinter.Menu(menubar, tearoff=False)
sub_menubar.add_command(label='打开')
sub_menubar.add_command(label='新建')
menubar.add_cascade(label='文件', menu=sub_menubar)


win.config(menu=menubar)
pygame.mixer.init()
win.mainloop()

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python GUI设计Tkinter从入门到实践》是一本经典的Python GUI编程教程。该PDF由在线资源、出版社等多种方式提供下载。在这本书,作者详细介绍了Tkinter库的基本知识和使用方法,并通过实际案例演示了GUI界面的设计和开发。 该书从Tkinter的安装开始,向读者展示了如何创建窗口、标签、按钮、文本框、列表框等常见的GUI组件。同时,作者还介绍了Tkinter的各种属性和方法,使读者可以自由地控制和定制界面的外观和行为。 除了基本的GUI组件,该书还详细介绍了Tkinter的布局管理器,如pack、grid和place,帮助读者更好地组织和布局界面元素。此外,作者还涵盖了事件处理、菜单栏、对话框、画布等高级组件的使用方法,让读者可以设计出更加复杂和丰富的GUI应用程序。 这本书的特点是结合了理论和实践,通过各种实例和项目,帮助读者逐步掌握Tkinter的使用技巧和编程思想。无论是初学者还是有一定经验的开发人员,都可以通过这本书系统地学习和掌握Python GUI编程。 总之,《Python GUI设计Tkinter从入门到实践》是一本很实用的教程,通过学习它,读者可以对Tkinter有更深入的了解,并能够利用Tkinter创建出各种各样的GUI界面。无论是用于个人项目还是商业应用,都能够帮助开发者提高工作效率并设计出更加美观和易用的GUI应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值