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

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

3、创建状态栏,主要显示目前的一些状态信息,y一般位于窗口的下方
import sys, math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import * class statusbar(QMainWindow):
def __init__(self):
super(statusbar, self).__init__()
self.initUI() def initUI(self):
self.setWindowTitle("状态栏")
self.resize(300,200) 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) #设置窗口的状态栏 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_())

												

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. 解决:配置虚拟主机,重启apache,[warn] _default_ VirtualHost overlap on port 80, the first has precedence

    http://blog.csdn.net/kaizhu_qin/article/details/17506293 很多第一次配置apache的虚拟主机的时候,以为配置第一个虚拟主机完成以后,以后就不会 ...

  2. ubuntu 终端快捷方式汇总

    terminal 是一个命令行终端,将启动系统默认的shell,shell是一个解释并执行在命令行提示符输入的命令的程序. 启动 terminal1 在 “面板主页” 的应用程序搜索栏中,输入命令gn ...

  3. Pandas数据结构(一)——Pandas Series

    Pandas 是 Python 中基于Numpy构建的数据操纵和分析软件包,包含使数据分析工作变得快速简洁的高级数据结构和操作工具.通过Pandas Series 和 Pandas DataFrame ...

  4. 题解 P2320 【[HNOI2006]鬼谷子的钱袋】

    P2320 [HNOI2006]鬼谷子的钱袋 挺有趣的一道题,之所以发这篇题解是因为感觉思路的更清晰一点qwq 此题主要有两种方法: 一.分治思想 例如要凑出1~20,假如我们已经能凑出1~10了,那 ...

  5. 大数据-hdfs技术

    hadoop 理论基础:GFS----HDFS:MapReduce---MapReduce:BigTable----HBase 项目网址:http://hadoop.apache.org/ 下载路径: ...

  6. C++11 新特性学习

    在Linux下编译C++11 #include<typeinfo> int main() { auto a=; cout<<typeid(a).name()<<en ...

  7. 建立Web Service 接口及调用

    WEB SERVICE 接口: [WebMethod] public string MaterialRequest(string jsonText) { string WorkNo; string P ...

  8. JQuery/JS插件 jsTree加载树,预先加载,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点

    jsTree加载树, 初始化时 加载前三级节点, 当展开第三级节点时 就加载该节点下的所有子节点 html: <!DOCTYPE html> <html> <head&g ...

  9. Windows引用opencv静态库

    参考博客:https://www.cnblogs.com/sysuzyq/p/6183568.html

  10. Atcoder Beginner Contest153F(模拟)

    应该也可以用线段树/树状数组区间更新怪兽的生命值来做 #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespac ...