文章目录
- 状态栏
- 状态栏创建
- 状态栏显示临时消息
- 状态栏添加子控件
状态栏
QStatusBar
状态栏是应用程序中输出简要信息的区域,例如画图板下面的区域
我们也可以给程序设置状态栏,表示一些状态。
状态栏创建
使用Qt Creator
创建项目的时候,如果勾选了创建ui
文件,则会自动生statusbar
:
我们使用代码创建的时候,就可以采用QStatusBar* statusBar = this->statusBar()
进行状态栏设置,表明存在就获取,不存在就再创建。
状态栏显示临时消息
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//存在就获取 不存在就创建
QStatusBar* statusBar = this->statusBar();
this->setStatusBar(statusBar);
//显示一个临时信息, 3000ms后消失
statusBar->showMessage("我在这儿~", 3000);
}
MainWindow::~MainWindow()
{
delete ui;
}
状态栏添加子控件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QLabel>
#include<QProgressBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//存在就获取 不存在就创建
QStatusBar* statusBar = this->statusBar();
this->setStatusBar(statusBar);
//显示一个临时信息, 3000ms后消失
//statusBar->showMessage("我在这儿~", 3000);
QLabel* label1 = new QLabel("Label_001");
QLabel* label2 = new QLabel("Label_002");
statusBar->addWidget(label1, 1); //第二个参数为拉伸系数
statusBar->addWidget(label2, 1);
//添加一个进度条
QProgressBar* progressBar = new QProgressBar();
progressBar->setRange(0,100);
progressBar->setValue(40);
statusBar->addWidget(progressBar);
}
MainWindow::~MainWindow()
{
delete ui;
}
addWidget
是从左往右添加
addPermanentWidget
是从右往左添加