qt界面之-statusBar的使用方式

本文详细介绍了在Qt中如何使用QMainWindow类通过不同方式实现在窗口底部的状态栏显示信息,包括直接在构造函数中添加控件以及通过定义成员函数进行布局控制,实现了状态信息在状态栏左右两侧的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、一般情况下是通过默认的类QMainwindow来实现,可以通过在构造函数中加入以下代码:

   //通过添加按钮来实现控制statusBar的实现到达最左侧和最右侧的数据
   QLabel *label = new QLabel();
    label->setObjectName("Welcome");
    label->setText(tr("Welcome"));
    //使数据实现在最左侧出现
    //ui->statusBar->addWidget(label);
    //使数据实现在最右侧出现
    ui->statusBar->addPermanentWidget(label);

以上的实现方式需要在头文件中引入#include <QLabel>

二、可以使用函数调用的方式来进行实现:

在.h文件中:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include <QDate>


#pragma execution_character_set("utf-8")

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void MesStatusBar();    //设置状态栏

private:
    Ui::MainWindow *ui;
    QLabel *label1;
    QLabel *label2;

};

#endif // MAINWINDOW_H

在.cpp文件中:

#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //通过添加按钮来实现控制statusBar的实现到达最左侧和最右侧的数据
//    QLabel *label = new QLabel();
//    label->setObjectName("Welcome");
//    label->setText(tr("Welcome"));
//    //使数据实现在最左侧出现
//    //ui->statusBar->addWidget(label);
//    //使数据实现在最右侧出现
//    ui->statusBar->addPermanentWidget(label);

    //通过调用函数来实现
    MesStatusBar();

}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::MesStatusBar()
{
    label1=new QLabel();
    label2=new QLabel(tr("实际情况"));
    //在statusBar中加入两个label
    ui->statusBar->addWidget(label1);
    ui->statusBar->addWidget(label2);
    QString timeLabel="当前时间:";
    QDateTime Currtime=QDateTime::currentDateTime();
    QString CurrTimeStr=Currtime.toString("yyyy-MM-dd hh:mm:ss");
    timeLabel.append(CurrTimeStr);
    label1->setText(timeLabel);



}

在main函数中:

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

最后得出的界面如图所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值