程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 編程-為什麼要用3個定時器分別進行不同的操作?

編程-為什麼要用3個定時器分別進行不同的操作?

編輯:編程解疑
為什麼要用3個定時器分別進行不同的操作?

應用程序輸出欄輸出的這些東西是按照什麼順序輸出的,看不懂
圖片說明
圖片說明

 #include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QTimer>
#include <QTime>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    id1=startTimer(1000);
    id2=startTimer(2000);
    id3=startTimer(3000);
    QTimer *timer=new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate()));
    timer->start(1000);
}

void Widget::timerEvent(QTimerEvent *event)
{
    if(event->timerId()==id1)
    {
        qDebug()<<"timer1";
    }
    else if(event->timerId()==id2)
    {
        qDebug()<<"timer2";
    }
    else
    {
        qDebug()<<"timer3";
    }
}

void Widget::timerUpdate()
{
    QTime time=QTime::currentTime();
    QString text=time.toString("hh:mm");
    if((time.second()%2)==0)
        text[2]=' ';
    ui->lcdNumber->display(text);
}

Widget::~Widget()
{
    delete ui;
}

最佳回答:


id1=startTimer(1000);
id2=startTimer(2000);
id3=startTimer(3000);

定時器時間到了就執行。qt底層使用的是消息,因此誰先觸發,誰先執行。三者之間沒有同步。

YXTS122
caozhy
caozhy
YXTS122
YXTS122
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved