Bootstrap

Qt显示实时时间

一、样图

 二、代码

widget.h


#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

class QLabel;
class QTimer;

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget

{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
    QLabel *label;
    QTimer *timer;
};

#endif // WIDGET_H

widget.cpp


#include "widget.h"
#include "./ui_widget.h"
#include <QLabel>
#include <QTimer>
#include <QDateTime>


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    setFixedSize(400, 100);

    label = new QLabel{this};
    label->resize(400, 100);

    timer = new QTimer(this);
    timer->start(1000);
    QDateTime datetime = QDateTime::currentDateTime();
    label->setText(datetime.toString("t yyyy-MM-dd hh:mm:ss a dddd"));

    connect(timer, &QTimer::timeout, this, [=]() {
        QDateTime datetime = QDateTime::currentDateTime();
        label->setText(datetime.toString("t yyyy-MM-dd hh:mm:ss a dddd"));
    });
}

Widget::~Widget()
{
    delete ui;
}


main.cpp


#include "widget.h"

#include <QApplication>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

;