1. 1、创建菜单栏
    import sys, math
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
  2.  
  3. class menu(QMainWindow):
    def __init__(self):
    super(menu, self).__init__()
    bar=self.menuBar() #获取菜单栏
  4.  
  5. #添加顶层菜单
    file=bar.addMenu("文件")
    help=bar.addMenu("帮助")
    file.addAction("新建")
  6.  
  7. #给顶层菜单添加相应的匹配分菜单
    save=QAction("保存",self)
    save.setShortcut("Ctrl+S") #给分菜单设置快捷键
    file.addAction(save)
    save.triggered.connect(self.process) #菜单栏设置相应的信号触发和槽函数
  8.  
  9. edit=bar.addMenu("edit") #设置第二个菜单栏的内容
    #设置第三层菜单栏的包含的成分
    edit.addAction("cut")
    edit.addAction("paste")
    quit=QAction("quit",self)
  10.  
  11. help.addAction("版本信息")
    help.addAction("许可证信息")
  12.  
  13. file.addAction(quit)
    def process(self,a):
    print(self.sender().text())
  14.  
  15. if __name__ == "__main__":
    app = QApplication(sys.argv)
    p = menu()
    p.show()
    sys.exit(app.exec_())

  1. 2、创建工具栏,默认状态为只显示图标,放上鼠标显示名称
    import sys, math
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
  2.  
  3. class toolbar(QMainWindow):
    def __init__(self):
    super(toolbar, self).__init__()
    self.initUI()
  4.  
  5. def initUI(self):
    self.setWindowTitle("工具栏")
    self.resize(300,200)
  6.  
  7. tb1=self.addToolBar("File") #定义一层工具栏
    new=QAction(QIcon("./image-1/1-1.jpg"),"new",self) #设置工具栏的图标new
    tb1.addAction(new)
  8.  
  9. open = QAction(QIcon("./image-1/1-2.jpg"), "open", self) #设置工具栏的图标open
    tb1.addAction(open)
    open.triggered.connect(self.print1) #工具栏的信号触发函数triggered
  10.  
  11. save = QAction(QIcon("./image-1/1-3.png"), "save", self) # 设置工具栏的图标save
    tb1.addAction(save)
  12.  
  13. #添加第二个工具栏所包含的图标肯文本说明
    tb2=self.addToolBar("file1")
    save2 = QAction(QIcon("./image-1/1-3.png"), "save", self) # 设置工具栏的图标save
    tb2.addAction(save2)
  14.  
  15. #设置工具栏的显示格式
    tb2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) #图标肯功能说明文本混合,文本在下面
    tb2.setToolButtonStyle(Qt.ToolButtonTextOnly)
  16.  
  17. def print1(self):
    print("hello world")
  18.  
  19. if __name__ == "__main__":
    app = QApplication(sys.argv)
    p = toolbar()
    p.show()
    sys.exit(app.exec_())

  1. 3、创建状态栏,主要显示目前的一些状态信息,y一般位于窗口的下方
    import sys, math
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
  2.  
  3. class statusbar(QMainWindow):
    def __init__(self):
    super(statusbar, self).__init__()
    self.initUI()
  4.  
  5. def initUI(self):
    self.setWindowTitle("状态栏")
    self.resize(300,200)
  6.  
  7. bar=self.menuBar()
    file=bar.addMenu("file")
    file.addAction("show")
    file.triggered.connect(self.process)
    self.setCentralWidget(QTextEdit())
    self.statusbar=QStatusBar() #定义一个新的状态栏
    self.setStatusBar(self.statusbar) #设置窗口的状态栏
  8.  
  9. def process(self,q):
    if q.text()=="show":
    self.statusbar.showMessage(q.text()+"菜单被点击了",5000) #设置槽函数,状态栏显示信息
    def print1(self):
    print("hello world")
    if __name__ == "__main__":
    app = QApplication(sys.argv)
    p =statusbar()
    p.show()
    sys.exit(app.exec_())

  1.  

PyQt5的菜单栏、工具栏和状态栏的更多相关文章

  1. 三、PyQt5不同方法创建菜单栏、工具栏和状态栏

    创建菜单栏.工具栏和状态栏可以直接通过代码实现,也可以通过Qt Designer中的属性编辑器等实现.通过两种方法的学习可以加深理解,更好的掌握PyQt5. 一.菜单栏与状态栏 状态栏的设置比较简单, ...

  2. Qt 学习之路 :菜单栏、工具栏和状态栏

    在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一 ...

  3. Qt 学习之路 2(12):菜单栏、工具栏和状态栏

    Home / Qt 学习之路 2 / Qt 学习之路 2(12):菜单栏.工具栏和状态栏 Qt 学习之路 2(12):菜单栏.工具栏和状态栏  豆子  2012年9月10日  Qt 学习之路 2  2 ...

  4. 【Qt开发】菜单栏,工具栏和状态栏

    概述 菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Desig ...

  5. Robot Framework--02 菜单栏&工具栏

    转自:http://blog.csdn.net/tulituqi/article/details/7584795 我把RIDE的界面大致分了四个区域:菜单栏.工具栏.案例及资源区.工作区,如下图 菜单 ...

  6. PyQt5+Eric6开发的一个使用菜单栏、工具栏和状态栏的示例

    前言 在做一个数据分析的桌面端程序遇到一些问题,这里简单整理下,分享出来供使用者参考. 1.网上查使用PyQt5工具栏的示例,发现很多只是一个简单的退出功能,如果有几个按钮如何处理?如何区分点击的究竟 ...

  7. pyside 添加菜单栏,窗口状态栏,工具栏

    这三个放到一起,个人认为比较有可比性. 另外该写的解释我都记到注释里面了 话不多说,show me the code 菜单栏, # ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗 ...

  8. PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例

    我们将创建一个菜单栏.一个工具栏.一个状态栏和一个中心部件. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import ...

  9. Qt——菜单栏、工具栏、状态栏

    1.菜单栏 菜单栏的意义是将可点击触发最终事件的集中在一起,所以菜单栏中是QAction 添加菜单栏是QMainWindow的行为 QMenubar *menubar = this->addMe ...

随机推荐

  1. cc.Sprite 与 ccui.ImageView 改变图片

    sprite.setTexture(fileName); imageView.loadTexture(fileName);

  2. AcWing 898. 数字三角形

    //从上往下 #include <iostream> #include <algorithm> using namespace std; , INF = 1e9; int n; ...

  3. sql避免科学计数法并保留两位小数

    SELECT trim(to_char(), ), ,), '9999,999,990.00')) AS CAvgPrice FROM POSITION a 结果: 以trim(to_char(ROU ...

  4. python call perl

    import subprocess subprocess.call("csv_gen.pl -by overall", shell=True)

  5. 每天进步一点点------Allegro 铺铜、内电层分割

    一.Allegro 铺铜 1.建议初学者内电层用正片,因为这样就不用考虑flash焊盘,这时候所有的过孔和通孔该连内电层的就连到内电层,不该连的就不连.而如果用负片,那么如果做焊盘的时候如果没有做fl ...

  6. The entity type XXX is not part of the model for the current context.

    今天遇到了一个奇葩问题,虽然解决了,但还是一脸懵,先附赠一下别人的解决方案:https://www.cnblogs.com/zwjaaron/archive/2012/06/08/2541430.ht ...

  7. 【网易官方】极客战记(codecombat)攻略-地牢-祸之火焰

    关卡连接: https://codecombat.163.com/play/level/banefire 绕着火焰跳舞,否则你的骨头下次就会被烧着 默认代码 # 食人魔看上去又大又慢,这是你的机会. ...

  8. SQLite 3 中的数据类型

    SQLite使用动态类型系统,在SQLite中,值的数据类型和值本身,而不是和它的容器,关联在一起的.SQLite的动态类型系统和其他数据库引擎的静态类型系统是兼容的,这样在静态类型的数据库上执行的S ...

  9. AcWing 867. 分解质因数

    #include <iostream> #include <algorithm> using namespace std; void divide(int x) { ; i & ...

  10. [2020BUAA软工助教]第1次个人作业

    热身作业(阅读) 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教室来听课有意思么 ...