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没有上方工具栏)