【PyQt】18 -菜单等顶层操作
顶层界面的使用
- 前言
- 一、菜单栏
- 1.1 代码
- 1.2 运行结果
- 二、工具栏
- 2.1 代码
- 几种显示方法
- 2.2 运行结果
- 三、状态栏
- 3.1 代码
- 3.2 运行结果
- 总结
前言
1、介绍顶层菜单栏目的使用,但没有陆续绑定槽函数。
2、工具栏
3、状态栏
一、菜单栏
1.1 代码
'''
#Author :susocool
#Creattime:2024/3/24
#FileName:42-创建和使用菜单
#Description: '''
import sys,math
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *class Menu( QMainWindow ):def __init__(self):super().__init__()self.setWindowTitle('创建和使用菜单')self.resize(400,300)bar = self.menuBar() # 获取菜单栏file = bar.addMenu('文件')file.addAction("新建") # 创建动作save = QAction("保存",self) # 创建动作的另一种表示save.setShortcut("Ctrl + S") # 设置快捷键file.addAction(save)edit = bar.addMenu("edit")edit.addAction("copy")edit.addAction("paste")quit = QAction("退出",self)file.addAction(quit)save.triggered.connect(self.process)def process(self,a):# print(a.text()) # text实际上是获得 bool类型,因此不需要print(self.sender().text())if __name__ == '__main__':app = QApplication(sys.argv)ui = Menu()ui.show()sys.exit(app.exec_())
1.2 运行结果



二、工具栏
工具栏默认按钮:只显示图标,将文本作为悬停提示
2.1 代码
'''
#Author :susocool
#Creattime:2024/3/24
#FileName:43-工具栏
#Description: '''
import sys,math
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *class Toolbar(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle('创建和使用菜单栏')self.resize(400,200)toolbar = self.addToolBar("File")# 规范化的话,应该创建一个Icon文件夹存放图片new = QAction(QIcon("./添加文件.jpg"),"添加文件",self) # 创建在当前窗口上,文字可以变成悬停提示toolbar.addAction(new)open = QAction(QIcon("./打开文件.png"),"打开文件",self)toolbar.addAction(open)save = QAction(QIcon("./保存文件.jpg"),"保存文件",self)toolbar.addAction(save)toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)# 槽函数toolbar.actionTriggered.connect(self.toolbuttonpressed)def toolbuttonpressed(self,a):print('按下的工具栏按钮是 ',a.text())if __name__ == '__main__':app = QApplication(sys.argv)ui = Toolbar()ui.show()sys.exit(app.exec_())
几种显示方法

toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
图标和文本并存,此处选择在右侧展示

在其底部

2.2 运行结果

三、状态栏
状态栏:用于显示状态信息
3.1 代码
'''
#Author :susocool
#Creattime:2024/3/24
#FileName:44-状态栏
#Description: '''
import sys,math
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *class Toolbar(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle('创建和使用菜单栏')self.resize(400,200)bar = self.menuBar()file = bar.addMenu("File") # 添加顶层菜单文件file.addAction("show") # 添加动作file.triggered.connect(self.processTrigger) # 添加触发动作self.setCentralWidget(QTextEdit()) # 没实际用途的编辑界面self.statusBar = QStatusBar() # 创建状态栏self.setStatusBar(self.statusBar)def processTrigger(self,q):if q.text() == "show":# 这里之前犯了个错误,不是statusBar()self.statusBar.showMessage(q.text() + "菜单被点击了",5000) # 显示5s之后会消失if __name__ == '__main__':app = QApplication(sys.argv)ui = Toolbar()ui.show()sys.exit(app.exec_())
3.2 运行结果

5s之后消失

总结
这篇文章依旧没有总结
相关文章:
【PyQt】18 -菜单等顶层操作
顶层界面的使用 前言一、菜单栏1.1 代码1.2 运行结果 二、工具栏2.1 代码几种显示方法 2.2 运行结果 三、状态栏3.1 代码3.2 运行结果 总结 前言 1、介绍顶层菜单栏目的使用,但没有陆续绑定槽函数。 2、工具栏 3、状态栏 一、菜单栏 1.1 代码 #Author :…...
线性代数基础概念和在AI中的应用
基本概念 线性代数是数学的一个分支,专注于向量、向量空间(也称为线性空间)、线性变换和矩阵的研究。这些概念在数据科学、人工智能、工程学和物理学等多个领域都有广泛应用。以下是这些基本概念的详细解释和它们在数据处理和AI中的应用。 …...
elasticsearch _cat/indices docs.count is different than <index>/_count
今天遇到一个问题,kibana中看到文档数与下面语句查询到的不同 GET /_cat/count/jiankunking_xxxxx_product_expand_test?v GET /jiankunking_xxxxx_product_expand_test/_search?track_total_hitstrue语句查询结果 epoch timestamp count 1711433785 06:16…...
关系型数据库mysql(7)sql高级语句
目录 一.MySQL常用查询 1.按关键字(字段)进行升降排序 按分数排序 (默认为升序) 按分数升序显示 按分数降序显示 根据条件进行排序(加上where) 根据多个字段进行排序 编辑 2.用或(or&…...
计算机网络——网络基础1
网络基础一 1.初识网络 网卡也是一种文件,所以对于网络的编程也是一种文件操作; 早期由于不同的计算机之间要根据数据进行协作,但是计算机之间是独立的,所以使用了光驱或者软盘之类的进行协作;对于将计算机连…...
ERDUnet: An Efficient Residual Double-codingUnet for Medical Image Segmentation
ERDUnet:一种用于医学图像分割的高效残差双编码单元 摘要 医学图像分割在临床诊断中有着广泛的应用,基于卷积神经网络的分割方法已经能够达到较高的准确率。然而,提取全局上下文特征仍然很困难,而且参数太大,无法临床应用。为此,我们提出了一种新的网络结构来改进传统的…...
vue响应式基础
声明响应式状态 ref() 在组合式 API 中,推荐使用 ref() 函数来声明响应式状态: import { ref } from vueconst count ref(0) ref() 接收参数,并将其包裹在一个带有 .value 属性的 ref 对象中返回: const count ref(0)c…...
每天上万简历,录取不到1%!阿里腾讯的 offer 都给了哪些人?
三月天杨柳醉春烟~正是求职好时节~ 与去年秋招的冷淡不同,今年春招市场放宽了许多,不少企业纷纷抛出橄榄枝,各大厂的只差把“缺人”两个字写在脸上了。 字节跳动技术方向开放数10个类型岗位,研发需求占比60%,非研发新增…...
外包干了20天,技术退步明显.......
先说一下自己的情况,大专生,21年通过校招进入杭州某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了2年的功能测试…...
4核8G云服务器,阿里云要多少钱?
阿里云4核8G服务器优惠价格955元一年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R) Xeon(R) Platinum处理器,阿里云活动链接 aliyunfuwuq…...
数学分析复习:振荡型级数的收敛判别
文章目录 振荡型级数的收敛判别 本篇文章适合个人复习翻阅,不建议新手入门使用 振荡型级数的收敛判别 直观上,振荡型级数说的是级数各项有正有负,求和的时候可以相互抵消,故可能收敛 命题:Abel求和公式 设复数列 { …...
阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中
文章目录 阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中一、CICD流水线的初步使用可以看我之前的两篇文章二、添加部署任务,进行Docker部署,创建一个阿里的试用主机1、选择主机部署,并添加服务主机2、创建免费体…...
并发VS并行
参考文章 面试必考的:并发和并行有什么区别? 并发:一个人同时做多件事(射击游戏队友抢装备) 并行:多人同时处理同一件事(射击游戏敌人同时射击对方)...
C语言经典例题(8) --- 进制A+B、网购、及格分数、最高分数、计算一元二次方程
文章目录 1.进制AB2.网购3.及格分数4.最高分数5.计算一元二次方程 1.进制AB 题目描述: 输入一个十六进制数a,和一个八进制数b,输出ab的十进制结果(范围-231~231-1)。 输入描述: 一行,一个十六…...
两区域二次调频风火机组,麻雀启发式算法改进simulink与matlab联合
区域1结果 区域2结果 红色曲线为优化后结果〔风火机组二次调频〕...
自动驾驶国际标准ISO文件
Coordinate system:Road vehicles — Vehicle dynamics and road-holding ability — Vocabulary...
【数据结构】双向奔赴的爱恋 --- 双向链表
关注小庄 顿顿解馋๑ᵒᯅᵒ๑ 引言:上回我们讲解了单链表(单向不循环不带头链表),我们可以发现他是存在一定缺陷的,比如尾删的时候需要遍历一遍链表,这会大大降低我们的性能,再比如对于链表中的一个结点我们是无法直接…...
【Redis】高频面试题
提供五种常见的数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合) 文章目录 1、为什…...
数据分析基础
数据分析基础 1. 数据加载 使用 Pandas 库可以轻松地加载各种格式的数据,如 CSV、Excel、JSON 等。 import pandas as pd# 从 CSV 文件加载数据 data pd.read_csv(‘data.csv’). 2. 数据探索 一旦数据加载完成,我们可以开始对数据进行探索性分析&a…...
ffmpeg把一个平面视频,做成左右平面视频
要使用FFmpeg将单个平面视频转换为左右(或称为并排)3D格式的视频,你可以使用FFmpeg的filter_complex功能来实现。这种类型的视频通常用于3D视觉效果,其中同一画面的两个版本并排放置,每个版本略有不同的视角࿰…...
从ChatGPT到文心一言:揭秘大语言模型背后的Decoder-only架构设计
从ChatGPT到文心一言:大语言模型的Decoder-only架构设计哲学 当ChatGPT在2022年末掀起全球AI对话风暴时,一个关键设计选择引起了技术界的广泛讨论:为什么这些最先进的大语言模型都选择了纯Decoder架构?这背后隐藏着怎样的技术哲学…...
网站SEO优化与网站内容更新的关系_企业网站SEO优化与行业特点的关系
<h3 id"seo_seo">网站SEO优化与网站内容更新的关系_企业网站SEO优化与行业特点的关系</h3> <p>在当今数字化时代,网站的SEO优化与内容更新之间有着密切的关系。这不仅关系到企业网站的流量,还直接影响企业的品牌形象和市场竞…...
如何用QtScrcpy实现跨平台Android设备高效投屏与控制
如何用QtScrcpy实现跨平台Android设备高效投屏与控制 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy 在数字化…...
从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录(附各阶段工具包)
从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录 记得大一刚接触编程时,连最简单的冒泡排序都要调试半天。三年后站在领奖台上,回想这段旅程,最珍贵的不是奖牌,而是那些深夜debug的坚持和突破自我的瞬间。这…...
Ubuntu 20.04 下 Zotero 文献管理神器:从安装到插件配置的完整避坑指南
Ubuntu 20.04 下 Zotero 文献管理神器:从安装到插件配置的完整避坑指南 第一次在Linux环境下配置文献管理工具时,我盯着终端里密密麻麻的命令行输出,突然意识到学术研究的数字化工具链竟如此脆弱。直到遇见Zotero,这款跨平台的开源…...
Qwen2.5-14B-Instruct+Pixel Script Temple:高校戏剧系AI辅助教学实战案例
Qwen2.5-14B-InstructPixel Script Temple:高校戏剧系AI辅助教学实战案例 1. 项目背景与价值 在高校戏剧教育领域,剧本创作一直是教学难点。传统教学模式下,学生需要花费大量时间在格式规范、基础场景构建等基础性工作上,而教师…...
5个认知重构,收割你的补偿性Offer
春招反杀指南当别人还在为秋招失利懊悔时,聪明人已经完成了思维系统的彻底升级秋招的硝烟尚未散尽,春招的号角已经吹响。这不是简单的“第二轮机会”,而是认知层面的降维打击战。那些在秋招中凭借简历光环轻松通关的路径已然失效,…...
Matlab/Simulink仿真BLDC电机:避开转速闭环控制的5个常见坑
BLDC电机转速闭环仿真避坑指南:从参数配置到结果验证的完整解决方案 在电机控制领域,BLDC(无刷直流电机)因其高效率、长寿命和低维护成本等优势,已成为工业自动化、电动汽车和消费电子等领域的主流选择。Matlab/Simul…...
TEdit终极指南:如何用免费地图编辑器10倍提升泰拉瑞亚创作效率
TEdit终极指南:如何用免费地图编辑器10倍提升泰拉瑞亚创作效率 【免费下载链接】Terraria-Map-Editor TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also let…...
从安防摄像头到直播:手把手教你用ZLMediaKit搭建GB28181视频监控平台
从安防摄像头到直播:手把手教你用ZLMediaKit搭建GB28181视频监控平台 在智能安防和物联网快速发展的今天,视频监控系统的网络化和智能化已成为行业标配。GB28181作为国内视频监控领域的国家标准协议,实现了不同厂商设备间的互联互通。而ZLMed…...
