QTimer的使用

转自:http://www.linuxidc.com/Linux/2011-10/45832p2.htm

看到很好的例子,转载过来便于做笔记参考。

//mydialog.h    
#ifndef MYDIALOG_H    
#define MYDIALOG_H    
#include <QDialog>    
class QLCDNumber;   
class QTimer;   
class MyDialog : public QDialog   
{   
  Q_OBJECT   
public:   
  explicit MyDialog(QWidget *parent = 0);   
signals:   
public slots:   
  void onTimerOut();   
private:   
  QLCDNumber *lcd;   
  QTimer *timer;   
};   
#endif // MYDIALOG_H  
//mydialog.cpp    
#include "mydialog.h"    
#include <QtGui/QLCDNumber>    
#include <QtGui/QVBoxLayout>    
#include <QTimer>    
#include <QTime>    
MyDialog::MyDialog(QWidget *parent) :   
  QDialog(parent)   
{   
  //新建一个QLCDNumber对象    
  lcd = new QLCDNumber();   
  //设置晶体管控件QLCDNumber能显示的位数    
  lcd->setDigitCount(10);   
  //设置显示的模式为十进制    
  lcd->setMode(QLCDNumber::Dec);   
  //设置显示方式    
  lcd->setSegmentStyle(QLCDNumber::Flat);   
   
  //新建一个QTimer对象    
  timer = new QTimer();   
  //设置定时器每个多少毫秒发送一个timeout()信号    
  timer->setInterval(1000);   
  //启动定时器    
  timer->start();   
   
  QVBoxLayout *layout = new QVBoxLayout();   
  layout->addWidget(lcd);   
  //信号和槽    
  connect(timer, SIGNAL(timeout()), this, SLOT(onTimerOut()));   
   
  //重新设置窗口的布局管理器    
  this->setLayout(layout);   
  //重新设置窗口的大小    
  this->resize(200, 100);   
  //重新设置窗口的标题    
  this->setWindowTitle("QTimerDemo");   
}   
   
void MyDialog::onTimerOut()   
{   
  //获取系统当前时间    
  QTime time = QTime::currentTime();   
  //设置晶体管控件QLCDNumber上显示的内容    
  lcd->display(time.toString("hh:mm:ss"));   
} 

//main.cpp    
#include <QtGui/QApplication>    
#include "mydialog.h"    
int main(int argc, char *argv[])   
{   
  QApplication a(argc, argv);   
  MyDialog dialog;   
  dialog.show();   
  return a.exec();   
}  



========运行效果如下============

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值