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

来源:互联网 发布:童装淘宝网店的名字 编辑:程序博客网 时间:2024/04/29 07:29

其实这两种方法思路一致,只是实现方法不一样而已。

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"));}




原创粉丝点击