Qt笔记之计时器

来源:互联网 发布:知乎 yuhang liu 编辑:程序博客网 时间:2024/06/06 04:01

  1. <pre name="code" class="cpp"></pre>private slots: void timeUpDate();  
  2. <pre></pre>  
  3. <br>  
  4. <p>头文件中加入如上,实现文件中加入</p>  
  5. <p></p>  
  6. <pre name="code" class="cpp">#include <Qtcore></pre><br>  
  7. 构造函数中加入  
  8. <p></p>  
  9. <p><br>  
  10. </p>  
  11. <pre name="code" class="cpp">QTimer *time=new Qtimer(this);  
  12. connect(timer,SIGNAL(timeout()),this,SLOT(timeUpDate));  
  13. timer->setStart(1000);</pre><br>  
  14. <br>  
  15. <pre name="code" class="cpp">void timeUpDate()  
  16. {  
  17.     QDateTime time=QDateTime::currentDatetime;  
  18.     QString stime=time.toString("yyyy-MM-dd hh:mm:ss dddd");  
  19.     ui->label->setText(stime);  
  20. }  
  21. </pre>  
  22. <h2>方法二</h2>  
  23. <p>mian.cpp中加入如下:</p>  
  24. <p></p>  
  25. <pre name="code" class="cpp"> #include <QTextCodec>  
  26. </pre>  
  27. <p>构造函数中:</p>  
  28. <p></p><pre name="code" class="cpp"> QTextCodec::SetCodecForTr(QTextCodec::CodecForLocal());  
  29. qsrand(time(0));  
  30. </pre>在mianwindow.h中加入:<p></p>  
  31. <p></p><pre name="code" class="cpp"void timerEvent(QTimerEvent ")  
  32. </pre><p></p>  
  33. <p>其定义为</p>  
  34. <p></p><pre name="code" class="cpp">void MainWindow::timerEvent(QTimerEvent *t) //定时器事件  
  35.  {   
  36.     switch(t->timerId()) //判断定时器的句柄  
  37.      {   
  38.         case 1 : ui->label->setText(tr("每秒产生一个随机数:%1″).arg(qrand()%10));break;   
  39.         case 2 : ui->label_2->setText(tr("5秒后软件将关闭"));break;   
  40.         case 3 : qApp->quit();break//退出系统  
  41.      }   
  42. }</pre><br>  
  43. <br>  
  44. <p></p>  
  45. <p>在实现头文件的文件中:</p>  
  46. <p></p><pre name="code" class="cpp">#include <QtCore>  
  47. </pre><br>  
  48. <p></p>  
  49. <p>构造函数中:</p>  
  50. <p></p><pre name="code" class="cpp">startTimer(1000); //其返回值为1,即其timerId为1  
  51. startTimer(5000);//其返回值为2,即其timerId为2  
  52. startTimer(10000); //其返回值为3,即其timerId为3  
  53. </pre><br>  
  54. <p></p>  
  55. <br>