介绍
这篇文章给大家分享的是有关Qt5如何实现主窗口状态栏显示时间的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
使用Qt Creator创建默认的窗体程序后,主窗口QMainWindow有状态栏状态栏,在此状态栏实时显示时间可以使用下面方法实现:
主窗口。h文件内容:
# ifndef MAINWINDOW_H # define MAINWINDOW_H # include & lt; QMainWindow> # include & lt; mydialog.h> # include & lt; QLabel> namespace Ui  { class 主窗口; } class MainWindow : public QMainWindow { Q_OBJECT才能 公众: explicit 才能;主窗口(QWidget * parent =, 0); ~才能主窗口(); private 槽: void 才能on_actionNew_Window_triggered (); void 才能;time_update(),,//时间更新槽函数,状态栏显示时间 私人: Ui:才能MainWindow *界面; QLabel 才能;* currentTimeLabel,//,先创建一个QLabel对象 MyDialog 才能;* mydialog; };//# endif MAINWINDOW_H
主窗口。c文件内容:
# include “mainwindow.h" # include “ui_mainwindow.h" # include “mydialog.h" # include & lt; QLabel> # include & lt; QDateTime> # include & lt; QTimer> # include & lt; QString> 主窗口:主窗口(QWidget *父母),: QMainWindow才能(父), ui才能(new ui::主窗口) { ui→才能setupUi(这个); 时间=currentTimeLabel 才能;new QLabel;,//,创建QLabel控件 ui才能→状态栏→addWidget (currentTimeLabel);,//在状态栏添加此控件 QTimer 才能;* timer =, new QTimer(这个); 计时器→才能开始(1000年);,//每隔1000毫秒发送超时的信号 连接才能(计时器,信号(超时()),槽(time_update ())); } 主窗口::~主窗口() { delete 才能;界面; } void 主窗口::on_actionNew_Window_triggered () { 时间=mydialog 才能;new MyDialog; mydialog→才能显示(); } void 主窗口::time_update () {//才能[1],获取时间 QDateTime 才能;current_time =, QDateTime: currentDateTime (); QString 才能;timestr =, current_time.toString (,“yyyy年MM月dd日,hh: MM: ss");,//设置显示的格式 currentTimeLabel→才能setText (timestr);,//设置标签的文本内容为时间 }
<强>补充:Qt通过QLabel控件来显示实时日期时间强>
头文件需添加:
# include & lt; QTimer>
构造函数中:
//日期/时间显示 QTimer * timer =, new QTimer(这个); 连接(定时器、信号(超时()),槽(timerUpdate ())); 计时器→开始(1000年);
定义成员函数timerUpdate()实现用户界面显示时间:
void userwindow: timerUpdate () { QDateTime 才能;time =, QDateTime: currentDateTime (); QString 才能;str =, time.toString (“yyyy-MM-dd  hh: mm: ss dddd"); ui→才能dateTime→setText (str); }
感谢各位的阅读!关于“Qt5如何实现主窗口状态栏显示时间”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!