顶层界面的使用
- 前言
- 一、菜单栏
- 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之后消失
总结
这篇文章依旧没有总结