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")); } ![]() (编辑:江门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |