PyQt5 QMenuBar, QMenu & QAction Widgets

下面我将详细讲解Python的"PyQt5 QMenuBar,QMenu&QActionWidgets"的完整使用攻略。

一、什么是PyQt5 QMenuBar,QMenu&QActionWidgets

PyQt5是一个用于创建桌面应用程序的Python模块,提供了丰富的GUI(图形用户界面)功能,其中QMenuBar、QMenu和QActionWidgets是PyQt5中非常实用的三个小部件。

  • QMenuBar:是一个水平菜单栏,用于将多个菜单组织在一起,方便用户操作。

  • QMenu:是一个弹出式菜单或子菜单,与QMenuBar类似,可以创建菜单项和分隔符,可与QMenuBar和其他QMenu合并使用。

  • QActionWidgets:是可执行操作的GUI(图形用户界面)小部件,用于触发事件(例如,启动一个功能或打开一个窗口)。

二、如何使用PyQt5 QMenuBar,QMenu&QActionWidgets

QMenuBar的使用

使用QMenuBar需要先进行以下几个步骤:

1.导入PyQt5.QtWidgets模块。

2.创建QMainWindow窗口。

3.创建QMenuBar对象,并将其添加到窗口中。

4.创建QMenu对象,并逐个添加到QMenuBar中。

以下是一个简单的例子,它演示了如何创建一个简单的QMenuBar:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu

class App(QMainWindow):

    def __init__(self):
        super().__init__()

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('文件')
        editMenu = menubar.addMenu('编辑')

        self.setWindowTitle('PyQt5 menu')
        self.setGeometry(300, 200, 350, 250)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

代码说明:

1.在这个例子中,我们导入QApplication、QMainWindow、QMenuBar和QMenu模块。

2.创建一个应用程序、一个主窗口、一个QMenuBar对象和两个QMenu对象。

3.在做这些之后,我们将QMenu添加到QMenuBar中。

QMenu的使用

QMenu是一个弹出式菜单或子菜单,它在QMainWindow或其他QMenu小部件内创建。创建QMenu需要先进行以下步骤:

1.创建QMenu对象,并将其添加到窗口或其他QMenu对象中。

2.向QMenu对象中添加QActionWidgets。

以下是一个简单的例子,它演示了如何创建一个简单的QMenu:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu, QAction

class App(QMainWindow):

    def __init__(self):
        super().__init__()

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('文件')

        newAct = QAction('新建', self)
        fileMenu.addAction(newAct)

        self.setWindowTitle('PyQt5 menu')
        self.setGeometry(300, 200, 350, 250)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

代码说明:

1.在这个例子中,我们分别导入QApplication、QMainWindow、QMenuBar、QMenu和QAction模块。

2.创建一个应用程序、一个主窗口、一个QMenuBar对象和一个QMenu对象。

3.在QMenu对象中,我们添加了一个QActionWidgets.

QActionWidgets的使用

QActionWidget是可执行操作的GUI(图形用户界面)小部件,它可以在QMenu或QToolBar中使用。使用QActionWidget需要先进行以下步骤:

1.创建QAction对象,并向其添加标签、快捷方式和提示信息。

2.绑定QAction和操作。

3.将QAction添加到QMenu或QToolBar中。

以下是一个简单的例子,它演示了如何创建一个简单的QActionWidget:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction

class App(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        newAct = QAction('新建', self)
        newAct.setShortcut('Ctrl+N')
        newAct.setStatusTip('创建一个新文件')
        newAct.triggered.connect(self.create_file)

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('文件')
        fileMenu.addAction(newAct)

        self.setWindowTitle('PyQt5 menu')
        self.setGeometry(300, 200, 350, 250)
        self.show()

    def create_file(self):
        print('创建一个新文件')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

代码说明:

1.在这个例子中,我们分别导入QApplication、QMainWindow和QAction模块。

2.创建QAction对象,添加标签、快捷方式和提示信息。

3.将QAction添加到QMenu中。

4.绑定QAction和操作(create_file)。

5.在操作(create_file)中输出提示信息。

第二个示例

以下是第二个示例,它演示了如何在QMenu和QAction之间创建一个新的子菜单,以及如何向新的菜单中添加QAction,然后执行操作。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction

class App(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('文件')

        impMenu = QMenu('导入', self)
        fileMenu.addMenu(impMenu)

        impAct = QAction('导入,选项A', self)        
        impMenu.addAction(impAct)

        impAct2 = QAction('导入,选项B', self)        
        impMenu.addAction(impAct2)

        newAct = QAction('新建', self)        
        fileMenu.addAction(newAct)

        self.setWindowTitle('PyQt5 menu')
        self.setGeometry(300, 200, 350, 250)
        self.show()

    def impSelected(self, q):
        print("从子菜单中选择了此项:"+q.text())

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

代码说明:

1.在这个例子中,我们导入了QApplication、QMainWindow、QMenu和QAction模块。

2.创建QMenu和QAction对象,并将QMenu和QAction添加到QMenuBar中。

3.创建新的QMenu对象(impMenu)并添加到父菜单中(fileMenu)。

4.向impMenu中添加QAction对象,并将执行操作绑定到impSelected函数。

5.在impSelected函数中输出选择的QAction文本。

三、总结

这篇文章中,我们介绍了如何使用PyQt5中的三个小部件QMenuBar、QMenu和QActionWidgets。通过多个示例,我们说明了如何创建菜单栏、菜单,如何将动作绑定到GUI小部件,并完成操作等等。希望这篇小型教程能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QMenuBar, QMenu & QAction Widgets - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • PyQt5 QSpinBox – 与系统字体匹配的字体

    PyQt5 QSpinBox是一个数字输入框,使用它可以方便地输入数字,并具有多种样式和自定义能力。其中一个常用的自定义能力是修改数字输入框的字体样式,使其与系统字体匹配。下面是完整的使用攻略和两个示例说明。 步骤1:导入需要的模块 from PyQt5.QtWidgets import * from PyQt5.QtGui import QFontData…

    python 2023年5月12日
    00
  • PyQt5 – 为状态栏添加边框

    下面是详细讲解Python中PyQt5库如何为状态栏添加边框的完整使用攻略。 1.什么是PyQt5 PyQt5是python中用于创建GUI(图形用户界面)程序的一个库,它是一组python模块,使得我们可以创建跨平台的桌面应用程序,可以访问Qt库的所有功能。 2.PyQt5 – 为状态栏添加边框 2.1 添加边框 PyQt5中状态栏是一个很常见的窗口部件,…

    python 2023年5月10日
    00
  • PyQt5 – 在组合框中按给定索引添加多个项目

    下面就为您讲解Python PyQt5中在组合框中按给定索引添加多个项目的完整使用攻略。 1. 导入库 在使用PyQt5框架实现combobox组合框的添加多个项目功能时,我们首先需要导入以下两个库: from PyQt5.QtWidgets import QComboBox from PyQt5.QtCore import Qt 2. 创建combobox…

    python 2023年5月10日
    00
  • PyQt5 – 当鼠标悬停时为单选按钮的指示器设置背景图片

    PyQt5 – 当鼠标悬停时为单选按钮的指示器设置背景图片 在PyQt5中,我们可以通过设置CSS样式来设置控件的外观。本文将介绍如何设置单选按钮(QRadioButton)在鼠标悬停时的指示器背景图片。 步骤 创建单选按钮 我们先创建一个单选按钮。这可以通过使用QRadioButton类来实现,示例如下: import sys from PyQt5.QtW…

    python 2023年5月11日
    00
  • PyQt5 – 在按钮上添加图像图标

    当我们使用PyQt5进行GUI(图形用户界面)开发时,有时候会需要在按钮上添加图像图标来增强用户交互性和美观性。这时可以使用QPixmap和QIcon两个类来实现按钮上添加图像图标的效果。下面是具体的步骤: 步骤一:导入PyQt5 首先需要导入PyQt5库,代码如下: from PyQt5 import QtWidgets, QtGui, QtCore 步骤…

    python 2023年5月10日
    00
  • PyQt5 QSpinBox – 添加动作

    PyQt5 QSpinBox是一个数字输入框控件,它可以让用户输入整数。本文将详细讲解如何在PyQt5 QSpinBox中添加动作。 1. 添加动作 使用PyQt5 QSpinBox中的setButtonSymbols()和setSuffix()方法可以轻松地在SpinBox中添加动作,例如: from PyQt5.QtWidgets import QApp…

    python 2023年5月12日
    00
  • PyQt5 QSpinBox – 获取字体信息对象

    PyQt5是基于Qt框架的Python模块,其中QSpinBox是一个能够实现数字输入的控件,它可以配合Qt的字体设置功能进行个性化定制。QSpinBox提供了setFont()方法来设置字体,并且可以通过font()方法来获取字体信息对象。 以下是获取QSpinBox字体信息对象的完整使用攻略,包含了两个示例: 1. 设置字体 要设置QSpinBox的字体…

    python 2023年5月12日
    00
  • PyQt5组合框 在关闭状态和鼠标悬停时的不同边框颜色

    下面我就详细讲解一下如何实现Python中“PyQt5组合框在关闭状态和鼠标悬停时的不同边框颜色”的使用攻略。 一、安装PyQt5 在使用PyQt5之前,你需要先安装PyQt5库。如果你已经安装了Python,那么可以通过以下命令来安装PyQt5: pip install PyQt5 二、创建PyQt5组合框 在PyQt5中,你可以使用QComboBox类来…

    python 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部