Qt:QStatusBar 和 QProgressBar 详细讲解(源码下载)

2023-10-08 18:08

本文主要是介绍Qt:QStatusBar 和 QProgressBar 详细讲解(源码下载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

知识准备:


QStatusBar Class:提供一个水平的横条,显示当前的状态信息。


QStatusBar Class

The QStatusBar class provides a horizontal bar suitable for presenting status information.More...


Header:

#include <QStatusBar>

qmake:

QT += widgets

Inherits:

QWidget


QProgressBar:进度条,用于显示一个水平或者垂直的进度条。

The QProgressBar widget provides a horizontal or vertical progress bar.More...


Header:

#include <QProgressBar>

qmake:

QT += widgets

Inherits:

QWidget


在最近的工作中,客户提了一个需求:在状态栏显示当前程序的进度条。

实现方法很简单,直接调用QStatusBar Class的成员函数void QStatusBar::addPermanentWidget(QWidget *widget, int stretch = 0)即可。

下面使用一个程序,来讲解QProgressBar和QStatusBar的用法。


实例:

效果图:



实现步骤:


1、新建Qt GUI应用程序,基类选择QMainWindow。

2、在程序的界面文件中,拖拽出如下控件。



3、各文件代码如下:



main.cpp

#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private slots:void on_actionInformation_triggered();private:Ui::MainWindow *ui;
};#endif // MAINWINDOW_H


mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>
#include <QLabel>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);ui->horizontalSlider->setStatusTip(QString::fromLocal8Bit("Information"));ui->progressBar->setStatusTip("ProgressBar1");ui->progressBar->setRange(0,100);ui->progressBar->setValue(0);ui->progressBar_2->setStatusTip("ProgressBar2");ui->progressBar_2->setRange(0,100);ui->progressBar_2->setValue(0);QLabel *label = new QLabel("ProgressBar4");ui->statusBar->addPermanentWidget(label);   //将label标签放置到任务栏ui->statusBar->addPermanentWidget(ui->progressBar_3);   //将进度条放置到任务栏ui->progressBar_3->setStatusTip("ProgressBar3");ui->progressBar_3->setRange(0,100);ui->progressBar_3->setValue(0);connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),ui->progressBar_3,SLOT(setValue(int)));
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_actionInformation_triggered()
{ui->statusBar->showMessage("提示", 1000);
}


代码功能总结:

 ui->horizontalSlider->setStatusTip(QString("Information"));  

:设置触发水平滑块时,状态栏显示的提示信息。


 ui->progressBar->setStatusTip(tr("ProgressBar1"));

:设置鼠标滑过进度条时,状态栏显示的提示信息。


 ui->progressBar->setRange(0,100); 

:设置进度条的范围。


 ui->progressBar->setValue(0); 

:设置进度条当前值。


QLabel *label = new QLabel("ProgressBar4");
ui->statusBar->addPermanentWidget(label);   

:将label标签放置到任务栏


ui->statusBar->addPermanentWidget(ui->progressBar_3);

: 将进度条放置到任务栏


ui->statusBar->showMessage("提示", 1000);  

:设置状态栏提示显示的内容和时间。(时间单位:毫秒)



源码下载地址:

http://download.csdn.net/detail/rl529014/9575511

这篇关于Qt:QStatusBar 和 QProgressBar 详细讲解(源码下载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/167081

相关文章

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处