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

相关文章

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下