PyQt中文网站 > 新手入门 > PyQt怎么创建菜单栏 PyQt中菜单栏、工具栏和状态栏有什么用
PyQt怎么创建菜单栏 PyQt中菜单栏、工具栏和状态栏有什么用
发布时间:2026/04/17 16:28:54

品牌型号:联想拯救者R7000

系统:Windows 10专业版

软件版本:PyQt 5.15.11

我们在使用Python做GUI开发时,一般选择使用PyQt框架,其提供了丰富的控件,结合Python代码的简洁,可以快速开发GUI程序。其中QMainWindow容器包含了菜单栏、工具栏和状态栏几个部分,怎么使用该容器创建菜单栏呢?这些菜单栏、工具栏和状态栏有什么用呢?本文将为大家介绍PyQt怎么创建菜单栏,PyQt中菜单栏、工具栏和状态栏有什么用的相关内容。

一、PyQt怎么创建菜单栏

菜单栏位于GUI窗口的顶部,用于分类程序的功能,如文件、编辑、帮助、说明等。在Windows中,几乎每个程序都有菜单栏,我们使用PyQt怎么创建菜单栏呢?下面我就为大家介绍一下PyQt创建菜单栏的详细步骤。

1、导入PyQt模块

创建菜单栏前,需要先导入PyQt中与窗口和菜单相关的核心模块,包括QApplication、QMainWindow、QMenu和QAction,其中QApplication用于创建GUI,QMainWindow作为主窗口载体,QMenu用于创建菜单,QAction用于定义菜单项及关联操作。示例代码如下,同时导入了sys模块用于退出程序。

导入PyQt模块
图1:导入PyQt模块

2、创建主窗口类并初始化

定义一个继承自QMainWindow的主窗口类,在类的初始化方法中调用父类初始化方法,同时设置窗口标题、窗口大小等基础属性,为菜单栏提供载体。例如下图代码所示,设置窗口标题为【PyQt菜单栏示例】,窗口大小为800×600像素。

创建主窗口类并初始化
图2:创建主窗口类并初始化

3、创建菜单栏对象

通过QMainWindow的menuBar()方法可以创建菜单栏实例,该方法会自动在主窗口顶部生成菜单栏区域,后续的菜单操作都是基于这个菜单栏实例。

4、向菜单栏添加菜单

使用菜单栏对象的addMenu()方法添加具体菜单,需要传入菜单名称作为参数,返回菜单对象,后续对该菜单添加菜单项,常用菜单包括“文件”“编辑”“帮助”等,添加菜单代码可以参考下图。

菜单栏添加菜单
图3:菜单栏添加菜单

5、为菜单添加菜单项及分隔符

创建完菜单后,可以通过QAction创建菜单项,设置菜单项名称、快捷键(也可以不设置),并将菜单项添加到对应菜单中。为了让界面更加美观,我们可以使用addSeparator()方法添加分隔符。例如下图中,为“文件”菜单添加“新建”“打开”“保存”“退出”菜单项,并添加分隔符区分操作类型。

添加菜单项
图4:添加菜单项

6、为菜单项绑定触发事件

通过QAction的triggered.connect()方法,可以将菜单项与函数进行绑定,实现点击菜单项执行对应代码。例如将“退出”菜单项绑定到窗口关闭函数,点击后关闭应用程序,此处是为大家简单演示,具体的函数代码需要根据业务需求编写。

函数绑定菜单项
图5:函数绑定菜单项

7、运行GUI

创建QApplication实例,实例化主窗口类,调用show()方法显示窗口,最终菜单显示效果如下图所示。=

菜单栏显示效果
图6:菜单栏显示效果

二、PyQt中菜单栏、工具栏和状态栏有什么用

菜单栏、工具栏和状态栏可以说是GUI开发的三大控件,三者各司其职,有效提升用户使用体验,下面我就详细为大家介绍一下PyQt中菜单栏、工具栏和状态栏的作用。

1、菜单栏

菜单栏的作用是“功能分类”,菜单栏将程序的功能进行分类,例如“文件”菜单包含新建、打开、保存、退出等文件操作。特别是在功能复杂的应用程序,功能杂乱无章,用户很难找到需要的功能。菜单栏还支持嵌套子菜单,可实现更细致的功能分类,例如下图所示Multisim的菜单栏。

菜单栏
图7:菜单栏

2、工具栏

工具栏的作用是“常用功能快捷访问”,工具栏一般位于菜单栏下方,包含常用功能的快捷按钮,例如Multisim中快速选择元件功能,不需要逐层点击菜单栏查找功能,只需点击工具栏上的按钮即可打开对应功能,大幅提升操作效率。

工具栏
图8:工具栏

3、状态栏

状态栏的作用是“显示当前程序状态”。一般位于GUI底部,实时显示当前操作状态。例如Multisim选中元器件后,底部状态栏会显示元器件的型号、名称、位置等信息。

状态栏
图9:状态栏

三、总结

以上就是PyQt怎么创建菜单栏,PyQt中菜单栏、工具栏和状态栏有什么用的相关内容。本文为大家介绍了使用PyQt创建菜单栏的详细步骤,并且给出了代码案例,安装PyQt后即可按照本文步骤创建菜单栏。文中还以Multisim为例为大家介绍了菜单栏、工具栏、状态栏的作用,希望对你有所帮助。

135 2431 0251