widget
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QTimer>
#include <QDateTime>
#include <QLabel>
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void updateDateTime();
private:
QTimer *timer;
QLabel *dateLabel;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent) : QWidget(parent)
{
// 创建一个标签用于显示日期
dateLabel = new QLabel(this);
dateLabel->setGeometry(100, 100, 500, 500); // 设置位置和大小
// 创建一个定时器,设置为每秒触发一次
timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &Widget::updateDateTime);
timer->start(1000); // 1000毫秒 = 1秒
// 初始显示
updateDateTime();
}
Widget::~Widget()
{
// 销毁定时器
timer->stop();
delete timer;
}
void Widget::updateDateTime()
{
// 获取当前日期和时间,这里我们只显示日期
QDateTime now = QDateTime::currentDateTime();
QString dateString = now.toString("yyyy-MM-dd");
dateLabel->setText(dateString);
}
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}