pyside6 代码实现Mainwindow menuBar

发布时间 2024-01-03 17:34:21作者: Tarzen

思路

  1. 先实现 QAction 和其关联的方法
  2. 实现QMenu,并且将QAction添加进去
  3. 使用MainWindow自带的menuBar,并且将QMenu添加进去

代码

from PySide6.QtWidgets import QApplication,QMainWindow,QMenu
from PySide6.QtGui import QAction


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        # 创建 action
        self.openfile = QAction('打开文件')
        # action关联方法
        self.openfile.triggered.connect(lambda: print('打开文件'))
        
        self.closefile = QAction('关闭文件')
        self.closefile.triggered.connect(lambda: print('关闭文件'))

        # 创建Menu
        self.fileMenu = QMenu('文件')
        # Menu添加action
        self.fileMenu.addAction(self.openfile)
        self.fileMenu.addAction(self.closefile)
        # mainwindow自带menuBar,添加menu
        self.menuBar().addMenu(self.fileMenu)


if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec()

效果

image