python没有上方工具栏_PyQt5快速上手基础篇8-菜单栏、工具栏和状态栏
前言
本节我们学习使用Qt Designer设计菜单栏、工具栏和状态栏,并完成一个串口工具的界面设计,在接下来教程中,我们将逐步实现一个串口调试助手,并详细介绍相关的其他知识点。
一、基础知识
1.菜单栏简介
菜单栏位于窗口上方,标题下面,菜单栏中的菜单属于QMenu类,下拉菜单和子菜单属于QAction类,点击任何QAction按钮时,QMenu对象都会触发triggered信号,本教程主要使用Designer设计,所以不需要了解QMenu和QAction的具体创建和添加到菜单栏等操作,仅需要关注triggered信号即可。
Qmenu和QAction中常用方法如下:
2.工具栏简介
QToolBar控件位于菜单栏下方,是由文本按钮,图标或其他小控件按钮组成的可移动面板,在Designer中可以通过在空白处右键选择Add Tool Bar,和菜单栏类似,每次点击工具栏中的按钮,都会触发Triggered信号。
QToolBar中常用方法如下:
3.状态栏简介
使用Qt Designer设计的MainWindow界面,最底部默认有一个水平状态栏(QstatusBar),用于显示永久或临时的状态信息
QStatusBar中常用方法如下:
二、实例
1. QT Designer设计UI
打开designer.exe,使用默认的Main Window创建,直接点击Create按钮即可
设计Main Window主页面如下,菜单栏中菜单分别为编辑、显示、工具、帮助,状态栏默认在最下方,可以在下方右键选择Remove Status Bar删除。
注意菜单栏中的菜单属于QMenu类,下拉菜单和子菜单属于QAction类
在UI界面下方空白处右键选择Add Toor Bar,将菜单栏子菜单对应的Action拖动到Tool Bar中,并按照下图方式为Action添加图标。
点击OK按钮后保存设置,界面如下:
其他Action按照同样方法操作,最终结果如下图:
2 将*.ui转换为ui_action_tool.py
进入run.py目录,输入如下命令:
pyuic5 -o ui_action_tool.py action_tool.ui
3 编写python程序
import sys
import PyQt5.QtWidgets as qw
import ui_action_tool
# sys.setrecursionlimit(1000000)
class myForm(qw.QMainWindow, ui_action_tool.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.statusbar.showMessage("status:ok")
self.action_start.triggered.connect(self.action_start_cb)
self.action_pause.triggered.connect(self.action_pause_cb)
self.action_exit.triggered.connect(self.action_exit_cb)
self.action_clear.triggered.connect(self.action_clear_cb)
def action_start_cb(self):
qw.QMessageBox.information(self, "提示", "您点击了Start")
def action_pause_cb(self):
qw.QMessageBox.information(self, "提示", "您点击了Pause")
def action_exit_cb(self):
qw.QMessageBox.information(self, "提示", "您点击了Stop")
def action_clear_cb(self):
qw.QMessageBox.information(self, "提示", "您点击了exit")
if __name__ == '__main__':
app = qw.QApplication(sys.argv)
w1 = myForm()
w1.show()
app.exec_()
上述程序为主页面的action_start、action_pause、action_exit、action_clear分别添加triggered信号对应的槽函数,槽函数中显示messagebox做出不同提示。
三、运行
进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的MainWindow页面。
点击工具栏中最左边开始图片
点击工具栏中左边第二个暂停图片
点击工具栏中左边第三个停止图片
点击工具栏中最右边清除图片
四、结语
(1) 注意菜单栏中”编辑“下拉菜单中开始、暂停、停止、清屏Action和工具栏中的图片一一对应,都对应同一个triggered的槽函数。
(2)获取源码
关注公众号:一个物联网项目的前世今生,回复pyqt5即可。
寄语:一沙一世界,一叶一菩提
python没有上方工具栏_PyQt5快速上手基础篇8-菜单栏、工具栏和状态栏相关推荐
- python编程lcd显示_PyQt5快速上手基础篇2-按钮控制LCD屏显示
前言 上一节我们完成了PyQt5开发环境搭建,本节开始我们正式进入PyQt5的世界,首先我给大家介绍下QT的信号与槽,然后利用这一特点完成点击按钮触发LCD屏显示功能. 一.基础知识 1. PyQt5 ...
- pyqt5从子目录加载qrc文件_PyQt5快速上手基础篇10-QSettings用法
前言 本节我们学习使用PyQt5的QSettings的用法,使用QSettings可以记住用户操作UI界面设置的参数,下次打开软件的时候,会直接加载用户上一次设置的参数. 一.基础知识 1.QSett ...
- exe打包工具_pyqt5快速上手基础篇12-使用Pyinstaller打包应用程序
前言 本节我们学习如何使用Pyinstaller打包pyqt5应用程序,pyqt5的打包要比之前文章中讲述的tkinter的打包稍微复杂点,主要区别在于pyqt5打包需要导入Qt相关库,笔者开始打包时 ...
- pyqt5设置dialog的标题_PyQt5快速上手基础篇7-弹出dialog
前言 本节我们学习QDialog的使用,在主页面点击按钮弹出一个新的Dialog. 一.基础知识 1. dialog简介 窗口是GUI设计中不可获取的一部分,方便用户和程序直接交互,简化使用:Qdia ...
- designer pyqt5 界面切换_PyQt5快速上手基础篇3-设置窗口标题和图标
前言 本节我们为QT Designer生成的UI界面添加图标和窗口标题. 一.实例运行 1. QT Designer设计UI 打开designer.exe,使用默认的Main Window创建,直接点 ...
- 力创eda 画布大小_立创EDA快速上手经验篇.docx
立创EDA快速上手经验篇 立创EDA(海外版本叫easyeda)是近年比较流行的一款在线设计EDA(电子自动化)软件.相比早已经完成抢占市场的老牌工具,立创EDA通过"终身免费,在线方便,开 ...
- 付呗聚合支付快速教程 基础篇①——基本介绍和配置
文章目录 一.对接手册 二.商户后台 三.银行分账 四.其他介绍 一.对接手册 付呗聚合支付对接手册 第一步自然是商务对接 本专栏是作为付呗的普通级商户,商户后台 使用付呗开发平台的支付API,接入到 ...
- 0基础python入门书籍 excel_【曾贤志】从零基础开始用Python处理Excel数据 - 第1季 基础篇...
=====[曾贤志]从零基础开始用Python处理Excel数据 第1季 基础篇====== 1-1 什么是python? .mp4 1-2 为什么要学习用Python处理Excel表格? .mp4 ...
- Python 代码检查工具 pylint (快速上手)
文章目录 安装和配置 1. 安装 2. 检查是否安装 3. 生成默认配置文件 4. 查看帮助文件 快速上手 1. 测试单个文件 2. 测试整个工程 3. 生成报告样例 4. 根据意见修改 进阶知识 1 ...
最新文章
- easyui datagrid checkbox的相关属性整理
- hadoop 文本统计一个字符的个数_使用hadoop统计多个文本中每个单词数目
- 【自然框架】分享 n级联动下拉列表框
- 蛋白质组学和代谢组学方法在生物标志物发现中的应用 Proteomic and Metabolomic Approaches to Biomarker Discovery
- MySQL 5.7.9多源复制报错修复
- 【Elasticsearch】玩转 Elasticsearch 7.8 的 SQL 功能
- MYSQL客户端访问服务端
- 微星主板黑苹果_黑苹果安装教程:准备磁盘+主板BIOS设置——墨涩网
- 环境安装(二):windows10下安装caffe框架(cuda10.0、cudnn7.6.4)
- FFmpeg —— 录制Windows桌面与麦克风,音视频同步(附源码)
- 主存、辅存、缓存、控存、虚存的比较分析
- 2018-2019-2 20175227张雪莹《Java程序设计》实验四 《Android程序设计》
- SpringCloud学习记录(1)-父工程与子模块创建及子模块调用
- 【LINUX】r,w,a,r+,w+,a+概念和区别
- el-form 验证规则里prop一次验证两个或多个值
- PTA-团体程序设计天梯赛-3
- R语言计算生物多样性指数
- nextjs移动端开发总结
- Cty的Linux学习笔记(十五——wget)
- 北美 ATT 3G退网