【Qt】Qt窗口 | QStatusBar 状态栏

news2024/11/13 9:28:48

文章目录

  • 一. 状态栏
  • 二. 代码创建&使用状态栏
    • 1. 创建状态栏
    • 2. 在状态栏中显示实时消息
    • 3. 在状态栏中显示控件

一. 状态栏

状态栏是应用程序中输出简要信息的区域,通常位于窗口的底部,用于显示应用程序的状态信息或提供用户与应用程序交互的反馈。一个窗口最多只能有一个状态栏,在Qt 中,通过 QStatusBar类 来实现的
常用显示的消息类型有:

  • 实时消息:如当前程序的状态
  • 永久消息:如程序版本号,机构名称
  • 进度消息:如进度条提示,百分百提示

二. 代码创建&使用状态栏

1. 创建状态栏

状态栏的创建有两种方法

  • 状态栏的创建是 QStatusBar类 的构造函数创建
  • 若窗口项目有自动生成 ui文件 ,则已经有一个菜单栏和状态栏,通过 QMainWindow类提供的 statusBar()获取状态栏
//QStatusBar *statusBar = new QStatusBar();//通过构造函数创建状态栏
QStatusBar *statusBar = this->statusBar();//获取状态栏
this->setStatusBar(statusBar);//设置状态栏

2. 在状态栏中显示实时消息

在状态栏中显示实时消息是通过QStatusBar类提供的 showMessage()实现的

statusBar->showMessage("这是一条状态栏消息");

运行结果如下:
在这里插入图片描述
showMessage()其原型函数如下:

void showMessage(const QString &text, int timeout = 0);

text 是显示的消息文本
timeout 是消息文本持续的时间,单位是毫秒,timeout = 3000代表文本持续3秒若设置为0代表持久显示

3. 在状态栏中显示控件

可添加到状态栏的常用控件有

  • QLabel 标签
  • QProgressBar 进度条
  • QPushButton 单选按钮
  • QCheckBox 复选框
  • QComboBox 组合框
  • QSlider 滑块

在状态栏添加控件的方法有

API说明
addWidget(QWidget widget, int stretch = 0);*从左往右添加控件,stretch是拉伸系数
*void addPermanentWidget(QWidget widget, int stretch = 0);从右往左添加控件,stretch是拉伸系数
*int insertWidget(int index, QWidget widget, int stretch = 0);从左往右插入控件,index是指定下标
*int insertPermanentWidget(int index, QWidget widget, int stretch = 0);从右往左插入控件,index是指定下标

添加标签,示例代码:

//添加标签
QLabel *label1 = new QLabel("标签信息1");
statusBar->addWidget(label1);//从左往右添加
QLabel *label2 = new QLabel("标签信息2");
statusBar->addPermanentWidget(label2);//从右往左添加

运行结果如下:
在这里插入图片描述


添加进度条,示例代码:

//添加进度条
QProgressBar *progressBar = new QProgressBar();
//初始化进度条
progressBar->setRange(0, 100);
progressBar->setValue(50);
statusBar->insertWidget(0, progressBar);

运行结果如下:
在这里插入图片描述

完整代码

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //QStatusBar *statusBar = new QStatusBar();//通过构造函数创建状态栏
    QStatusBar *statusBar = this->statusBar();//获取状态栏
    this->setStatusBar(statusBar);//设置状态栏
    //设置文本消息
    //statusBar->showMessage("这是一条状态栏消息", 3000);

    //添加标签
    QLabel *label1 = new QLabel("标签信息1");
    statusBar->addWidget(label1);//从左往右添加
    QLabel *label2 = new QLabel("标签信息2");
    statusBar->addPermanentWidget(label2);//从右往左添加
    //添加进度条
    QProgressBar *progressBar = new QProgressBar();
    //初始化进度条
    progressBar->setRange(0, 100);
    progressBar->setValue(50);
    statusBar->insertWidget(0, progressBar);
}

结束语
感谢你的阅读
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

qt的model view 使用示范

首先在ui界面拖一个tableView ui->tableView->setModel(mission_model); 然后设置model的qss,并用view绑定model void SettingWidget::init_missionmodel(QString plane_type, QString mission_name) {if(mission_model)delete mission_model;mission_model…

《智能计算系统:从深度学习到大模型(第2版)》重磅上市!

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

PINCE——Linux 原生游戏内存修改器,一款替代 Cheat Engine 的强大游戏修改器,Linux 游戏玩家必备神器!

PINCE——Linux 原生游戏内存修改器,一款替代 Cheat Engine 的强大游戏修改器,Linux 游戏玩家必备神器! PINCE 是 GNU Project Debugger(GDB) 的前端/反向工程工具,常用作程序调试器,主要用于游戏领域,修改…

docker容器图形化管理之Portainer

docker容器轻量级图形页面管理之Portainer 1、查看portainer镜像 [rootlocalhost ~]# docker search portainer 2、下载portainer镜像 [rootlocalhost ~]# docker pull portainer/portainer #选择喜欢的portainer风格镜像下载 3、启动dockerui容器 [rootlocalhost ~]# doc…

京东物流开放平台对接云打印功能

这是京东开发文档的流程图,根据自己的需求分析,我选择的是接入方式一 这是接入方式一的流程图: 所有第一步我们先下载他的打印组件并安装:京东物流开放平台 第二步呢就是看你有没有自定义快递面单的需求,由于目前我没有特别的需…

录屏选区指南,优选3款支持区域录制的录屏软件!

在数字内容创作和分享的时代,录屏软件成为了游戏玩家、教育工作者和视频博主的重要工具。无论是想要捕捉精彩的游戏瞬间,还是制作教学视频,选择正确的录屏区域都是确保内容质量和观众体验的关键。然而,面对市面上众多的录屏软件&a…

HDFS回收站-删除策略详解

HDFS拥有回收站的功能,将某一段时间的删除的数据,放到指定路径(/user/{username}/.Trash),至少保留指定的时间,然后一起删除。 现实中发现回收站里有该删除的却没有删除,和回收站原理逻辑对不上。 以下从源码上看看到底是什么原因导致的。 背景 某HDFS集群指定数据保留…

Docusign Maestro:智能自动化,实现无缝协作,让签约更简单!

作为 Docusign IAM 引擎的核心部分,Maestro 能够帮助你自动化、定制并连接你的协议工作流程。你可以完全按照自己的需求,定制每一个流程细节。无论是什么类型的协议,Maestro 都能减少繁琐的手动操作,让最终用户更快、更轻松地完成…

springboot网上商品订单转手系统论文源码调试讲解

第2章 开发环境与技术 开发网上商品订单转手系统需要搭建编程的环境,也需要通过调查,对各个相关技术进行分析,选取适合本系统开发的技术与工具。 2.1 MYSQL数据库 题目确定了是一个应用程序之后,就开始按部就班的进行设计与分析…

7个超有意思的网站,值得收藏起来慢慢用

分享7个超有意思的网站,绝对让你意想不到! 1、动漫捏脸 Picrew|つくってあそべる画像メーカー 一个超有趣的二次元动漫捏脸网站,你可以随意制作自己喜欢的各种动漫形象、头像等画作,搭配B站教程食用更佳哦~ 搭配教…

全场景 真利旧 强运维!麒麟信安打造县域自主创新云办公解决方案

近年来,国家正大力推进信息技术自主创新,减少对外依赖,并在关键行业加速推广和应用自研技术产品。现全国乡镇以上各级党政机关积极响应国家战略指引,全面实施自主创新办公系统建设升级。但在升级过程中,却因设备架构和…

4款AI 生成 PPT的工具,帮你赶上演示文稿的新趋势!

AI 生成 PPT 最大的优势就在于它能够帮助我们提高效率。如果我们自己制作的话就需要花费大量的时间去收集资料、构思布局、设计排版。而现在,有了AI工具,一切就迎刃而解,如果大家需要这样的工具,可以看看这4款。 1、笔灵办公 直通…

网络硬盘录像机NVR程序源码海思3520D NVR 安防监控智能升级运用方案

随着安防技术的不断发展,传统的监控系统正逐步向智能化方向转变。海思Hi3520D作为一款高性能的网络视频处理芯片,在NVR(网络视频录像机)领域有着广泛的应用。本方案旨在探讨如何利用海思Hi3520D芯片的强大功能对现有的NVR系统进行…

软件测试需求分析有多重要?软件测评公司如何进行测试需求分析?

软件测试需求分析是指在软件测试过程中,对用户需求和功能需求进行深入理解和评估的过程。它主要帮助测试团队明确测试目标、制定测试策略,并根据需求制定测试用例。这一过程不仅提高了测试的效率,也降低了后续开发与测试中可能出现的问题。 …

Qt 0819作业

一、思维导图 二、字体对话框的实现 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_pushButton_clicked(…

ant design pro 技巧之自制复制到剪贴板组件

ant design pro 如何去保存颜色ant design pro v6 如何做好角色管理ant design 的 tree 如何作为角色中的权限选择之一ant design 的 tree 如何作为角色中的权限选择之二ant design pro access.ts 是如何控制多角色的权限的ant design pro 中用户的表单如何控制多个角色ant des…

【PyCharm安装】安装Python和PyCharm的注意事项!!!PyCharm常用的插件介绍。

安装Python的注意事项 确定所需版本:根据您的项目和库的要求,选择合适的Python版本进行安装。不同版本的Python可能支持不同的库和特性。确保网络连接:如果您使用的是在线安装方式,确保您的计算机有可靠的网络连接,以…

《Techporters架构搭建》-Day07 集成API文档工具

API文档化 前言API文档化历史集成Knife4j常用注解基本信息注解分组注解请求方法注解路径注解 使用示例 源码地址:请看day07 前言 在现代软件开发中,良好的API文档是团队协作和项目管理中不可或缺的一部分。OpenAPI规范(前身为Swagger&#x…

AI绘画Stable Diffusion插件—LayerDiffusion 分层控图新突破!生成透明图片前后景图片融合,毫无违和感!

大家好,我是画画的小强 用AI绘画Stable Diffusion 生成透明图片怎么搞? 这要搁之前,我们需要生成完图片,然后放到去背景插件中调整参数去除背景!效果一般般 如果想要在一张图片上添加主体,该怎么搞&#…

使用gpreftools测试性能

参考文献: C 性能分析工具调研_性能分析工具 gperf perf vergi 比较-CSDN博客性能测试工具CPU profiler(gperftools)的使用心得-CSDN博客gperftools使用方法和常见问题_pprof no nodes to print-CSDN博客c 分析 gperftools 总结 | Weakyon Blog 文章目录 安装使用 …