当前位置: 首页 > 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之后消失
在这里插入图片描述


总结

这篇文章依旧没有总结

http://www.lryc.cn/news/325938.html

相关文章:

  • 线性代数基础概念和在AI中的应用
  • elasticsearch _cat/indices docs.count is different than <index>/_count
  • 关系型数据库mysql(7)sql高级语句
  • 计算机网络——网络基础1
  • ERDUnet: An Efficient Residual Double-codingUnet for Medical Image Segmentation
  • vue响应式基础
  • 每天上万简历,录取不到1%!阿里腾讯的 offer 都给了哪些人?
  • 外包干了20天,技术退步明显.......
  • 4核8G云服务器,阿里云要多少钱?
  • 数学分析复习:振荡型级数的收敛判别
  • 阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中
  • 并发VS并行
  • C语言经典例题(8) --- 进制A+B、网购、及格分数、最高分数、计算一元二次方程
  • 两区域二次调频风火机组,麻雀启发式算法改进simulink与matlab联合
  • 自动驾驶国际标准ISO文件
  • 【数据结构】双向奔赴的爱恋 --- 双向链表
  • 【Redis】高频面试题
  • 数据分析基础
  • ffmpeg把一个平面视频,做成左右平面视频
  • Docker搭建LNMP环境实战(02):Win10下安装VMware
  • 苍穹外卖笔记
  • [医学分割大模型系列] (3) SAM-Med3D 分割大模型详解
  • 【React】React中将 Props 传递给组件
  • JOL工具查看java对象布局
  • Rust 实战练习 - 3. 文件系统,权限,读写,路径组合,time
  • 既有理论深度又有技术细节——深度学习计算机视觉
  • Flink Temporal Join 系列 (2):用 Temporal Table DDL 实现基于处理时间的关联
  • eclipse中使用PlantUML plugin查看对象关系
  • HCIP的学习(4)
  • MySQL写shell的问题