本文主要是介绍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_OBJECTpublic: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_OBJECTpublic:DisplayTime(QWidget *parent = 0);~DisplayTime();private:QLabel *timeLabel;private slots:void updateTime();
};#endif // DISPLAYTIME_H
#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"));
}
这篇关于Qt中使用QLabel显示时间的两种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!