Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44972
  • 博文数量: 12
  • 博客积分: 325
  • 博客等级: 一等列兵
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-02 12:08
文章分类

全部博文(12)

文章存档

2012年(12)

我的朋友

分类: LINUX

2012-09-19 10:38:23

clock.h

点击(此处)折叠或打开

  1. #ifndef DIGITALCLOCK_H
  2. #define DIGITALCLOCK_H
  3. #include <QLCDNumber>
  4. class DigitalClock:public QLCDNumber
  5. {
  6. public:
  7.      DigitalClock(QWidget *parent = 0);

  8. protected:
  9.      void timerEvent(QTimerEvent *);

  10. private:
  11.      bool isColon;

  12. };
  13. #endif // DIGITALCLOCK_H


 

clock.cpp

点击(此处)折叠或打开

  1. #include "DigitalClock.h"
  2. #include <QDateTime>
  3. DigitalClock::DigitalClock(QWidget *parent):QLCDNumber(parent)
  4. {
  5.     this->isColon = false;
  6.     this->setFrameStyle(QFrame::Panel | QFrame::Raised);
  7.     this->setNumDigits(11);
  8.     QObject::startTimer(500);
  9. }

  10. void DigitalClock::timerEvent(QTimerEvent *)
  11. {
  12.     isColon = !isColon;
  13.     QString timeString = QTime::currentTime().toString().left(5);
  14.     QDate date = QDate::currentDate();
  15.     QString dateString;
  16.     dateString.sprintf("%2d-%2d",date.month(), date.day());
  17.     QString displayString = timeString + dateString;
  18.     if(!isColon)
  19.     {
  20.        displayString[2] = ' ';
  21.     }
  22.     display(displayString);
  23. }



main.cpp


点击(此处)折叠或打开

  1. #include "DigitalClock.h"
  2. #include <QApplication>

  3. int main(int argc, char **argv)
  4. {
  5.     QApplication app(argc, argv);
  6.     DigitalClock *clock = new DigitalClock;
  7.     clock->resize(500,80);
  8.     clock->setWindowTitle("QTimer");
  9.     clock->show();
  10.     return app.exec();
  11. }

image

阅读(1075) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~