您尚未登录。

楼主 #1 2020-03-09 20:39:49

qter
会员
注册时间: 2017-09-14
已发帖子: 40
积分: 40

Qt定时器 QTimer 设置了一个 1小时的槽函数,但是 start() 之后需要一个小时才能触发, 我想启动就立即触发一次应该如何做呢?

Qt定时器 QTimer 设置了一个 1小时的槽函数,

但是 start() 之后需要一个小时才能触发,

我想启动就立即触发一次应该如何做呢?

离线

#2 2020-03-10 00:18:30

firstman
会员
注册时间: 2019-04-06
已发帖子: 279
积分: 279

Re: Qt定时器 QTimer 设置了一个 1小时的槽函数,但是 start() 之后需要一个小时才能触发, 我想启动就立即触发一次应该如何做呢?

#include <QMetaObject>


    QMetaObject::invokeMethod(&timer_get_modbus_data, "timeout");

这样就可以立即调用槽函数了

离线

#3 2020-03-10 00:31:44

wupaul2001
会员
注册时间: 2019-09-30
已发帖子: 293
积分: 261

Re: Qt定时器 QTimer 设置了一个 1小时的槽函数,但是 start() 之后需要一个小时才能触发, 我想启动就立即触发一次应该如何做呢?

直接调用槽函数

离线

楼主 #4 2020-03-10 08:34:52

qter
会员
注册时间: 2017-09-14
已发帖子: 40
积分: 40

Re: Qt定时器 QTimer 设置了一个 1小时的槽函数,但是 start() 之后需要一个小时才能触发, 我想启动就立即触发一次应该如何做呢?

firstman 说:
#include <QMetaObject>


    QMetaObject::invokeMethod(&timer_get_modbus_data, "timeout");

这样就可以立即调用槽函数了

不错, 试了一下, 这个可以用。

wupaul2001 说:

直接调用槽函数

谢谢,我咋没想到呢。

离线

#5 2020-09-02 08:50:02

路人甲
会员
注册时间: 2017-09-07
已发帖子: 202
积分: 199.5

Re: Qt定时器 QTimer 设置了一个 1小时的槽函数,但是 start() 之后需要一个小时才能触发, 我想启动就立即触发一次应该如何做呢?

wupaul2001 说:

直接调用槽函数

可以先设置N秒触发,
然后在定时器的槽函数实现内部,修改定时时间。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn