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