一般项目中都会用到系统时间,可以通过时间去触发槽函数,或者修改系统时间等等。。
接下来看一下如何获取系统时间,并且每隔一秒刷新一次。直接上代码!
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>//定时器头文件
#include <QDateTime>//时间类,获取系统时间
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void timer_Update();//定时器更新槽函数
private:
Ui::MainWindow *ui;
//创建一个定时器
QTimer *timer_calendar;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
timer_calendar = new QTimer(this);//new个对象
connect(timer_calendar,SIGNAL(timeout()),this,SLOT(timer_Update()));//timeout超时事件
timer_calendar->start(1000);//每隔一秒调用一次槽函数
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::timer_Update()
{
QDateTime time = QDateTime::currentDateTime();
//年-月-日 时:分:秒 星期
QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd");
ui->label->setText(str);
}
结果: