返回顶部

QT--QMainWindow窗口的状态栏设置

QMainWindow窗口状态栏

  • 实时显示时间:

  1.获取实时时间使用定时器QTimer,

 

    QTimer *timer = new QTimer();    
    connect(timer, &QTimer::timeout, this, &时间更新函数);//时间更新函数是自定义的一个槽函数
    timer->start(1000);

  2.时间更新函数的内容

	QDateTime currentTime = QDateTime::currentDateTime();
	QString strTime = currentTime.toString("yyyy-MM-dd hh:mm:ss");
	m_label->setText(strTime);
	ui.statusBar->addWidget(m_label);

  其中m_label是类内的QLabel指针,在构造函数中初始化,槽函数在头文件中声明。

  QT新建Widget项目,一直下一步,完整代码如下:  

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <QLabel>
#include <QDateTime>
#include <QTimer>
#include <QString>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void timeUpdate();

private:
    Ui::MainWindow *ui;
    QLabel *m_label;
};

#endif // MAINWINDOW_H
.h

 

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

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

    QTimer *timer = new QTimer();
    timer->start(1000);
    connect(timer,&QTimer::timeout,this,&MainWindow::timeUpdate);
}

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

void MainWindow::timeUpdate()
{
    QDateTime currentTime = QDateTime::currentDateTime();
    QString strTime = currentTime.toString("yyyy-mm-dd hh:mm:ss");
    m_label->setText(strTime);
    ui->statusBar->addWidget(m_label);

}
.cpp

 

    

 

posted @ 2020-04-08 23:26  Zoya23  阅读(1212)  评论(0编辑  收藏  举报