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实现协同过滤推荐算法完整代码示例
Dec 15 Python
运动检测ViBe算法python实现代码
Jan 09 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
Python assert关键字原理及实例解析
Dec 13 Python
Python语言异常处理测试过程解析
Jan 08 Python
python3.6使用SMTP协议发送邮件
May 20 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
浅析Python迭代器的高级用法
Jul 16 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Python tkinter实现日期选择器
Feb 22 Python
进行数据处理的6个 Python 代码块分享
Apr 06 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
PHP开发负载均衡指南
2010/07/17 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
用Juery网页选项卡实现代码
2011/06/13 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
Python读写文件方法总结
2015/06/09 Python
Python中格式化format()方法详解
2017/04/01 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
出生医学证明书
2014/09/15 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
高中语文教学反思范文
2016/02/16 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android