2 u013275296 u013275296 于 2016.04.20 13:11 提问

qt怎么判断定时器是否工作
qt

connect(&delayTimer,SIGNAL(timeout()),this,SLOT(showlcdNumber()));比如我在构造喊中写入connect,然后在代码中开启定时器,现在的问题是没有进入槽函数,我怎么判断这个定时器还在工作

6个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.20 13:17
已采纳

可以调用QTimer类的isActive()方法
返回TRUE说明定时在工作,返回FALSE说明没有

u013275296
u013275296 回复小灸舞: 能帮忙看下吗,我回复中贴的说超过500字了,我再下面给你贴了
一年多之前 回复
qq423399099
qq423399099 回复超级小菜: 楼主贴一下代码吧
一年多之前 回复
u013275296
u013275296 我这边定时器还在,但是没有进入槽函数知道是什么原因吗,我在槽函数中打印一句话不打印,但是isActive是true
一年多之前 回复
qq_34688538
qq_34688538   2016.04.20 13:20

The best thing

u013275296
u013275296   2016.04.20 15:30

我在mainwindow的构造函数里写的connect是这样的connect(&delayTimer,SIGNAL(timeout()),this,SLOT(showlcdNumber()));
我在别的函数中写了开启定时器
//IO延时槽函数
void MainWindow::on_signal_delay(double num,int type)
{

delay_type = type;
delaynum = num;
ui->delay_lcdNumber->display(delaynum);
if(type == 1)
{
    if(delayTimer.isActive())
        delayTimer.stop();
    delayTimer.start(1000);
    qDebug()<<"comgingjin delay type"<<delay_type<<endl;
    if(delayTimer.isActive())
        qDebug()<<"delayTimer is active"<<delaynum<<endl;
    ui->stop_delay->setDisabled(false);
}
else if(type == 2)
{
    if(conprocess_delayTimer.isActive())
        conprocess_delayTimer.stop();
    conprocess_delayTimer.start(1000);
    qDebug()<<"comgingjin conprocessdelay type"<<delay_type<<endl;
    ui->stop_delay->setDisabled(false);
}

}
我的槽函数前面加了打印信息
void MainWindow::showlcdNumber()
{
qDebug()<<"showlcdNumber lcdnum= "<<delaynum<<endl;
if(delayTimer.isActive())
qDebug()<<"delyaTimerisliving"<<delaynum<<endl;
else
qDebug()<<"delyaTimerisnotliving"<<delaynum<<endl;
.....
}
代码运行结果是这样的
comgingjin delay type 1

delayTimer is active 2
没有进入我的槽函数,我现在的问题就是我怎么知道这个connect还工作着

u013275296
u013275296 回复小灸舞: 谢谢,问题解决了,不是这边的问题
一年多之前 回复
qq423399099
qq423399099 照理是没错的,要么再贴一下头文件和构造函数
一年多之前 回复
caoshangpa
caoshangpa   2016.04.23 11:30

timer.isActive()

u013782830
u013782830   2016.05.11 17:09

调用isActive()方法啊,返回一个真假值

u011012932
u011012932   2016.08.10 18:50

isActive()
更多参考:Qt之QTimer

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!