• 4030阅读
  • 2回复

[提问]定时器的ID号 [复制链接]

上一主题 下一主题
离线hao1xiao1zi2
 
只看楼主 倒序阅读 楼主  发表于: 2012-08-18
想问一下使用qt的软定时器问题,就是关于启动多个定时器时,timerId()不是从1、2、3这样往下的ID号吗,
程序如下:

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
   void timerEvent(QTimerEvent *);//声明定时器的处理函数
private:
    Ui::MainWindow *ui;
};
MainWindow::MainWindow(QWidget *parent) ://构造函数
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    qsrand(time(0));
    startTimer(1000);//return   1     timerId=1  以下是启动三个定时器
    startTimer(5000);//return   2     timerId=1
    startTimer(10000);//return  3    timerId=1
}

void MainWindow::timerEvent(QTimerEvent *t)//定时器的处理函数
{    qDebug() << "Timer ID:" << t->timerId(); //输出ID号
}
结果为:Timer ID: 1
Timer ID: 1
Timer ID: 1
Timer ID: 1
Timer ID: 1
Timer ID: 16777218
Timer ID: 1
Timer ID: 1
Timer ID: 1
Timer ID: 1
Timer ID: 1
Timer ID: 16777218
Timer ID: 33554435
离线roywillow

只看该作者 1楼 发表于: 2012-08-18
我最好奇的是
你为什么会认为是从1、2、3这样编号
就算是猜也得从0开始编号吧XD

事实就是这样,timerId不一定是连续从0或者1开始的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线hao1xiao1zi2
只看该作者 2楼 发表于: 2012-08-23
回 1楼(roywillow) 的帖子
我是看 yafeilinux的Qt Creator系列教程里是这样写的
快速回复
限100 字节
 
上一个 下一个