zoukankan      html  css  js  c++  java
  • PyQt5:菜单,QMenuBar对象

    菜单:

      调用QMainWindow类的menuBar方法可以获得主窗口的QMenuBar对象,该对象表示主窗口的菜单栏,通过QMenuBar对象的addMenu方法可以在菜单栏中添加菜单项。然后通过addAction方法添加子菜单项。

      创建一个QMenuBar对象的方法为:fileMenu = menubar.addMenu('文件')

      创建一个不带子菜单项的菜单项的方法为QAction方法:newAct = PQW.QAction('新建',self)

      创建一个带子菜单项的菜单项的方法为QMenu:impMenu = PQW.QMenu('导入',self)

      添加一个带子菜单项的方法为addMenu():fileMenu.addMenu(impMenu)  #把“导入”这个子菜单项目添加到菜单栏的“文件”菜单项中。

      添加一个不带子菜单项的方法为addMenu():fileMenu.addAction(newAct)  #把“新建”这个子菜单项目添加到菜单栏的“文件”菜单项中。

    实例代码:

    import sys
    import PyQt5.QtWidgets as PQW
    import PyQt5.QtGui as PQG
    import PyQt5.QtCore as PQC
    
    class Menu(PQW.QMainWindow):
        def __init__(self):
            super().__init__()
            self.initUI()
    
        def initUI(self):
            # 新建一个菜单栏对象
            self.lbl = PQW.QLabel('print to here',self)
            self.lbl.move(50,150)
            menubar = self.menuBar()
            # 添加“文件”菜单项
            fileMenu = menubar.addMenu('文件')
            # 添加“新建”菜单项
            newAct = PQW.QAction('新建',self)
            # 添加“导入”菜单项 (带子菜单项)
            impMenu = PQW.QMenu('导入',self)
            impAct1 = PQW.QAction('从pdf导入',self)
            impAct2 = PQW.QAction('从word导入', self)
            # 为菜单添加单击处理时间
            fileMenu.addAction(newAct)
            fileMenu.addMenu(impMenu)
            impMenu.addAction(impAct1)
            impMenu.addAction(impAct2)
            impAct1.triggered.connect(lambda :self.actionHandler(1))
            impAct2.triggered.connect(lambda :self.actionHandler(2))
    
            self.setGeometry(300,300,300,200)
            self.setWindowTitle('菜单')
            self.show()
    
        def actionHandler(self,n):
            s = '从pdf文件导入'
            print(n)
            self.lbl.setText(s)
            self.lbl.adjustSize()
    
    if __name__ == '__main__':
        app = PQW.QApplication(sys.argv)
        ex = Menu()
        sys.exit(app.exec_())

     运行效果:

  • 相关阅读:
    熟悉常用的Linux操作
    组合数据类型练习
    简易的词法分析程序
    大数据概述
    201552040205 关于对java的体验与感悟
    对已学习的java内容的一些感悟
    关于java中的一些小技巧
    Javase 大纲2
    Javase大纲
    MysQL知识整理
  • 原文地址:https://www.cnblogs.com/chenhaiming/p/9947446.html
Copyright © 2011-2022 走看看