当前位置: 首页 > news >正文

【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 &#xff1a…...

线性代数基础概念和在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视觉效果,其中同一画面的两个版本并排放置,每个版本略有不同的视角&#xff0…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...