python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例


Posted in Python onFebruary 28, 2020

PyQt5状态栏控件QStatusBar简介

MainWindow对象在底部保留有一个水平条,作为状态栏(QstatusBar),用于显示永久或临时的状态信息

QStatusBar类中的常用方法

方法 描述
addWidget() 在状态栏中添加给定的窗口小控件对象
addPermanentWidget() 在状态栏中永久添加给定的窗口小控件对象
showMessage() 在状态栏显示一条临时信息,指定时间间隔
clearMessage() 删除正在显示的临时信息
removeWidget() 从状态栏中移除指定的小控件

QStatusBar的使用实例

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class StatusDemo(QMainWindow):
  def __init__(self,parent=None):
    super(StatusDemo, self).__init__(parent)

    #实例化菜单栏
    bar=self.menuBar()
    #添加父菜单
    file=bar.addMenu('File')
    #添加子菜单
    file.addAction('show')
    #当菜单对象被点击时,触发绑定的自定义的槽函数
    file.triggered[QAction].connect(self.processTrigger)

    #设置当行文本输入框为中间控件
    self.setCentralWidget(QTextEdit())

    #实例化状态栏
    self.statusBar=QStatusBar()

    self.setWindowTitle('QStatusBar例子')

    #设置状态栏,类似布局设置
    self.setStatusBar(self.statusBar)

  def processTrigger(self,q):

    if (q.text()=='show'):
      #设置状态栏的显示文本以及显示时间
      self.statusBar.showMessage(q.text()+'菜单选项被点击了',5000)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=StatusDemo()
  demo.show()
  sys.exit(app.exec_())

运行效果如下

python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例

QStatusBar代码分析

在这个例子中,顶层窗口MainWindow有一个菜单栏和一个QTextEdit对象,作为中心控件

当单击MenuBar的菜单时,将triggered信号与槽函数进行绑定

#当菜单对象被点击时,触发绑定的自定义的槽函数
file.triggered[QAction].connect(self.processTrigger)

当单击show菜单选项时,会在状态栏提示信息,5秒后消失

#设置状态栏的显示文本以及显示时间
self.statusBar.showMessage(q.text()+'菜单选项被点击了',5000)

通过主窗口的QMainWindow的setStatusBar()函数设置状态栏,核心代码如下

#实例化状态栏
self.statusBar=QStatusBar()
#设置状态栏,类似布局设置
self.setStatusBar(self.statusBar)

本文主要讲解了PyQt5状态栏控件QStatusBar详细使用方法与实例,更多关于PyQt5控件知识请查看下面的相关链接

Python 相关文章推荐
Python Web服务器Tornado使用小结
May 06 Python
Django框架中render_to_response()函数的使用方法
Jul 16 Python
Python的Django框架中的表单处理示例
Jul 17 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
python 文件查找及内容匹配方法
Oct 25 Python
python模拟斗地主发牌
Apr 22 Python
Pytorch环境搭建与基本语法
Jun 03 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
python神经网络 使用Keras构建RNN训练
May 04 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
Feb 28 #Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 #Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 #Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 #Python
You might like
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
jquery text()要注意啦
2009/10/30 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
高二生物教学反思
2014/01/27 职场文书
闭幕式主持词
2014/04/02 职场文书
护士感人事迹
2014/05/01 职场文书
结对共建协议书
2014/08/20 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
CentOS MySql8 远程连接实战
2022/04/19 MySQL