PyQt5的菜单栏、工具栏和状态栏
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的菜单栏、工具栏和状态栏的更多相关文章
- 三、PyQt5不同方法创建菜单栏、工具栏和状态栏
创建菜单栏.工具栏和状态栏可以直接通过代码实现,也可以通过Qt Designer中的属性编辑器等实现.通过两种方法的学习可以加深理解,更好的掌握PyQt5. 一.菜单栏与状态栏 状态栏的设置比较简单, ...
- Qt 学习之路 :菜单栏、工具栏和状态栏
在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一 ...
- Qt 学习之路 2(12):菜单栏、工具栏和状态栏
Home / Qt 学习之路 2 / Qt 学习之路 2(12):菜单栏.工具栏和状态栏 Qt 学习之路 2(12):菜单栏.工具栏和状态栏 豆子 2012年9月10日 Qt 学习之路 2 2 ...
- 【Qt开发】菜单栏,工具栏和状态栏
概述 菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Desig ...
- Robot Framework--02 菜单栏&工具栏
转自:http://blog.csdn.net/tulituqi/article/details/7584795 我把RIDE的界面大致分了四个区域:菜单栏.工具栏.案例及资源区.工作区,如下图 菜单 ...
- PyQt5+Eric6开发的一个使用菜单栏、工具栏和状态栏的示例
前言 在做一个数据分析的桌面端程序遇到一些问题,这里简单整理下,分享出来供使用者参考. 1.网上查使用PyQt5工具栏的示例,发现很多只是一个简单的退出功能,如果有几个按钮如何处理?如何区分点击的究竟 ...
- pyside 添加菜单栏,窗口状态栏,工具栏
这三个放到一起,个人认为比较有可比性. 另外该写的解释我都记到注释里面了 话不多说,show me the code 菜单栏, # ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗 ...
- PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例
我们将创建一个菜单栏.一个工具栏.一个状态栏和一个中心部件. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import ...
- Qt——菜单栏、工具栏、状态栏
1.菜单栏 菜单栏的意义是将可点击触发最终事件的集中在一起,所以菜单栏中是QAction 添加菜单栏是QMainWindow的行为 QMenubar *menubar = this->addMe ...
随机推荐
- 解决:配置虚拟主机,重启apache,[warn] _default_ VirtualHost overlap on port 80, the first has precedence
http://blog.csdn.net/kaizhu_qin/article/details/17506293 很多第一次配置apache的虚拟主机的时候,以为配置第一个虚拟主机完成以后,以后就不会 ...
- ubuntu 终端快捷方式汇总
terminal 是一个命令行终端,将启动系统默认的shell,shell是一个解释并执行在命令行提示符输入的命令的程序. 启动 terminal1 在 “面板主页” 的应用程序搜索栏中,输入命令gn ...
- Pandas数据结构(一)——Pandas Series
Pandas 是 Python 中基于Numpy构建的数据操纵和分析软件包,包含使数据分析工作变得快速简洁的高级数据结构和操作工具.通过Pandas Series 和 Pandas DataFrame ...
- 题解 P2320 【[HNOI2006]鬼谷子的钱袋】
P2320 [HNOI2006]鬼谷子的钱袋 挺有趣的一道题,之所以发这篇题解是因为感觉思路的更清晰一点qwq 此题主要有两种方法: 一.分治思想 例如要凑出1~20,假如我们已经能凑出1~10了,那 ...
- 大数据-hdfs技术
hadoop 理论基础:GFS----HDFS:MapReduce---MapReduce:BigTable----HBase 项目网址:http://hadoop.apache.org/ 下载路径: ...
- C++11 新特性学习
在Linux下编译C++11 #include<typeinfo> int main() { auto a=; cout<<typeid(a).name()<<en ...
- 建立Web Service 接口及调用
WEB SERVICE 接口: [WebMethod] public string MaterialRequest(string jsonText) { string WorkNo; string P ...
- JQuery/JS插件 jsTree加载树,预先加载,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点
jsTree加载树, 初始化时 加载前三级节点, 当展开第三级节点时 就加载该节点下的所有子节点 html: <!DOCTYPE html> <html> <head&g ...
- Windows引用opencv静态库
参考博客:https://www.cnblogs.com/sysuzyq/p/6183568.html
- Atcoder Beginner Contest153F(模拟)
应该也可以用线段树/树状数组区间更新怪兽的生命值来做 #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespac ...