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

#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); }