zl程序教程

您现在的位置是:首页 >  其它

当前栏目

PyQt5 menu菜单栏设置

设置 PyQT5 Menu 菜单栏
2023-09-14 09:12:48 时间
PyQt5 版本:5.11.3
PyQt5 menu设置
# -*- coding: utf-8 -*-
'''
@author yys

'''
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication,QAction,QMenu
from PyQt5.QtGui import QIcon,QCursor

class App(QMainWindow):

    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 menu - yys'
        self.left = 100
        self.top = 200
        self.width = 640
        self.height = 400
        self.initUI()

    def myListWidgetContext(self):
        #自定义点击菜单
        popMenu = QMenu()
        popMenu.addAction(QAction(u'添加', self))
        popMenu.addAction(QAction(u'删除', self))
        popMenu.addAction(QAction(u'修改', self))
        # 在鼠标位置显示
        popMenu.exec_(QCursor.pos())

    def initUI(self):
        #设置窗体标题
        self.setWindowTitle(self.title)
        #设置几何位置以及形状
        self.setGeometry(self.left, self.top, self.width, self.height)

        #menuBar()方法创建顶部菜单。
        # 子菜单通过addMenu(name)添加
        mainMenu = self.menuBar()
        fileMenu = mainMenu.addMenu('文件')
        editMenu = mainMenu.addMenu('编辑')
        viewMenu = mainMenu.addMenu('视图')
        searchMenu = mainMenu.addMenu('搜索')
        toolsMenu = mainMenu.addMenu('工具')
        helpMenu = mainMenu.addMenu('帮助')

        #创建一个action(行为),标题为"exti", self 为parent
        exitButton = QAction(QIcon('close.png'), 'Exit',self)
        # exitButton = QAction(self)
        # 设置设置该action为分离器 也就是分隔符,当为true时 QIcon会无效
        # 0或非0有效
        exitButton.setSeparator(0)
        # 设置action的快捷键
        exitButton.setShortcut('Ctrl+Q')
        # 设置action的状态栏说明
        exitButton.setStatusTip('退出当前应用')
        #更改action的title
        exitButton.setText("退出")

        # 设置action的信号插槽方法
        # exitButton.triggered.connect(self.close)

        exitButton.triggered.connect(self.myListWidgetContext)
        # 开启action状态栏
        self.statusBar()

        # 可以将单个action按钮添加到菜单中:
        fileMenu.addAction(exitButton)

        self.show()

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

代码执行效果如下: