Qt5 實(shí)現(xiàn)主窗口狀態(tài)欄顯示時(shí)間
使用Qt Creator創(chuàng)建默認(rèn)的窗體程序后,主窗口QMainWindow有statusBar狀態(tài)欄,在此狀態(tài)欄實(shí)時(shí)顯示時(shí)間可以使用下面方法實(shí)現(xiàn):
mainwindow.h文件內(nèi)容:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <mydialog.h> #include <QLabel> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_actionNew_Window_triggered(); void time_update(); //時(shí)間更新槽函數(shù),狀態(tài)欄顯示時(shí)間 private: Ui::MainWindow *ui; QLabel *currentTimeLabel; // 先創(chuàng)建一個(gè)QLabel對象 MyDialog *mydialog; }; #endif // MAINWINDOW_H
mainwindow.c文件內(nèi)容:
#include "mainwindow.h" #include "ui_mainwindow.h" #include "mydialog.h" #include <QLabel> #include <QDateTime> #include <QTimer> #include <QString> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); currentTimeLabel = new QLabel; // 創(chuàng)建QLabel控件 ui->statusBar->addWidget(currentTimeLabel); //在狀態(tài)欄添加此控件 QTimer *timer = new QTimer(this); timer->start(1000); //每隔1000ms發(fā)送timeout的信號(hào) connect(timer, SIGNAL(timeout()),this,SLOT(time_update())); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_actionNew_Window_triggered() { mydialog = new MyDialog; mydialog->show(); } void MainWindow::time_update() { //[1] 獲取時(shí)間 QDateTime current_time = QDateTime::currentDateTime(); QString timestr = current_time.toString( "yyyy年MM月dd日 hh:mm:ss"); //設(shè)置顯示的格式 currentTimeLabel->setText(timestr); //設(shè)置label的文本內(nèi)容為時(shí)間 }
補(bǔ)充:Qt 通過QLabel控件來顯示實(shí)時(shí)日期時(shí)間
頭文件需添加:
#include <QTimer>
構(gòu)造函數(shù)中:
//日期/時(shí)間顯示 QTimer *timer = new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate())); timer->start(1000);
定義成員函數(shù)timerUpdate()實(shí)現(xiàn)用戶界面顯示時(shí)間:
void userwindow::timerUpdate() { QDateTime time = QDateTime::currentDateTime(); QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd"); ui->dateTime->setText(str); }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
使用Python?matplotlib繪制簡單的柱形圖、折線圖和直線圖
Matplotlib是Python的繪圖庫, 它可與NumPy一起使用,提供了一種有效的MatLab開源替代方案,下面這篇文章主要給大家介紹了關(guān)于使用Python?matplotlib繪制簡單的柱形圖、折線圖和直線圖的相關(guān)資料,需要的朋友可以參考下2022-08-08Python?hashlib模塊與subprocess模塊使用詳細(xì)介紹
這篇文章主要介紹了Python?hashlib模塊與subprocess模塊使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10wxPython中l(wèi)istbox用法實(shí)例詳解
這篇文章主要介紹了wxPython中l(wèi)istbox用法,以實(shí)例形式較為詳細(xì)的分析了Python使用wxPython中l(wèi)istbox的相關(guān)技巧,需要的朋友可以參考下2015-06-06python中numpy.zeros(np.zeros)的使用方法
下面小編就為大家?guī)硪黄猵ython中numpy.zeros(np.zeros)的使用方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11