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. 获取源码

如您在使用过程中有任何问题,请加QQ群进一步交流。

QQ交流群:906015840 (备注:物联网项目交流)

项目实战:PyQt5快速开发串口工具

扫码关注公众号:物联网客栈,回复pyqt5即可获取本节源码。
在这里插入图片描述
一叶孤沙出品:一沙一世界,一叶一菩提

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值