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

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM