zoukankan      html  css  js  c++  java
  • 菜单栏、工具栏与状态栏—QMenuBar

    在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象。

    QMenu类提供了一个可以添加到菜单栏的小控件,也用于创建上下文菜单和弹出菜单。每个QMenu对象都可以包含一个或多个QAction对象或级联的QMenu对象。

    要创建一个弹出菜单,PyQt API提供了createPopupMenu()函数;menuBar()函数用于返回主窗口的QMenuBar对象;addMenu()函数可以将菜单添加到菜单栏中;通过addAction()函数可以在菜单中进行添加操作。

    在设计菜单系统时使用的一些方法:
      menuBar()    返回主窗口的QMenuBar对象

      addMenu()    在菜单栏中添加一个新的QMenu对象

      addAction()      向QMenu小控件中添加一个操作按钮,其中包含文本或图标

      setEnabled()    将操作按钮状态设置为启用/禁用

      addSeperator()  在菜单中添加一条分隔线

      clear()      删除菜单/菜单栏的内容

      setShortcut()   将快捷键关联到操作按钮

      setText()        设置菜单项的文本

      setTitle()     设置QMenu小控件的标题

      text()       返回与QAction对象关联的文本

      title()       返回QMenu小控件的标题

    单击任何QAction按钮时,QMenu对象都会发射triggered信号。

    案例34  QMebuBarr的使用

    import sys
    from PyQt5.QtWidgets import QMainWindow, QApplication, QHBoxLayout, QAction
    
    
    class MenuBarDemo(QMainWindow):
        def __init__(self, parent=None):
            super().__init__(parent)
    
            layout = QHBoxLayout()
            bar = self.menuBar()
            file = bar.addMenu("File")
            file.addAction("New")
    
            save = QAction("Save", self)
            save.setShortcut("Ctrl+S")
            file.addAction(save)
            edit = file.addMenu("Edit")
            edit.addAction("Copy")
            edit.addAction("Paste")
            quit = QAction("Quit", self)
            file.addAction(quit)
    
            file.triggered[QAction].connect(self.processtrigger)
            self.setLayout(layout)
            self.setWindowTitle("Menu Demo")
    
        def processtrigger(self, q):
            print(q.text() + " is triggered")
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        demo = MenuBarDemo()
        demo.show()
        sys.exit(app.exec_())
  • 相关阅读:
    HTTP Basic 验证客户端 C#实现笔记
    泗洪高薪行业
    C#中Math的使用总结
    Android音频底层调试-基于tinyalsa
    我看项目管理第一回:认识利益相关方,提高思想意识
    【剑指Offer学习】【面试题19 :二叉树的镜像】
    算法
    zTree实现地市县三级级联DAO接口实现
    Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
    正尝试在 OS 载入程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内执行托管代码,这样做会导致应用程序挂起。
  • 原文地址:https://www.cnblogs.com/lynsha/p/13441244.html
Copyright © 2011-2022 走看看