加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Qt中使用QLabel显示时间的两种办法

发布时间:2021-11-20 17:30:25 所属栏目:教程 来源:互联网
导读:Qt中使用QLabel显示时间的两种方法思路一致,只是实现方法不一样而已。 main.cpp #include displaytime.h #include QApplication int main(int argc, char *argv[]) { QApplication a(argc, argv); DisplayTime w; w.show(); return a.exec(); } 方法一: di

Qt中使用QLabel显示时间的两种方法思路一致,只是实现方法不一样而已。
 
main.cpp
 
#include "displaytime.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    DisplayTime w;
    w.show();
   
    return a.exec();
}
 
方法一:
 
displaytime.h
 
#ifndef DISPLAYTIME_H
#define DISPLAYTIME_H
 
#include <QWidget>
#include <QtGui>
 
class QLabel;
 
class DisplayTime : public QWidget
{
    Q_OBJECT
   
public:
    DisplayTime(QWidget *parent = 0);
    ~DisplayTime();
 
private:
    QLabel *timeLabel;
 
protected:
    void timerEvent(QTimerEvent * event);
};
 
#endif // DISPLAYTIME_H
 
displaytime.cpp
 
#include "displaytime.h"
 
DisplayTime::DisplayTime(QWidget *parent)
    : QWidget(parent)
{
    timeLabel = new QLabel(this);
    timerEvent(0);
    startTimer(1000);
    timeLabel->show();
}
 
DisplayTime::~DisplayTime()
{
   
}
 
void DisplayTime::timerEvent(QTimerEvent *event)
{
    Q_UNUSED(event);
    timeLabel->setText(QTime::currentTime().toString("hh:mm:ss"));
}
 
方法二:
 
displaytime.h
 
#ifndef DISPLAYTIME_H
#define DISPLAYTIME_H
 
#include <QWidget>
#include <QtGui>
 
class QLabel;
 
class DisplayTime : public QWidget
{
    Q_OBJECT
   
public:
    DisplayTime(QWidget *parent = 0);
    ~DisplayTime();
 
private:
    QLabel *timeLabel;
 
private slots:
    void updateTime();
};
 
#endif // DISPLAYTIME_H
 
displaytime.cpp
 
#include "displaytime.h"
 
DisplayTime::DisplayTime(QWidget *parent)
    : QWidget(parent)
{
    timeLabel = new QLabel(this);
    timeLabel->setGeometry(0, 0, 150, 30);
 
    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()),
            this, SLOT(updateTime()));
    timer->start(1000);
 
    timeLabel->show();
}
 
DisplayTime::~DisplayTime()
{
   
}
 
void DisplayTime::updateTime()
{
    timeLabel->setText(QDateTime::currentDateTime().toString("hh:mm:ss"));
}

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读