社区
Qt
帖子详情
QTimer能否在启动时发射信号?
加盾男爵
2017-05-27 10:56:04
这里有个计时器,每隔一秒后会发射信号timeout(),但问题是第一个信号会在启动后的第一秒发射,但我希望启动的时候,也就是第0秒的时候就发射第一个信号,有木有办法?
...全文
258
5
打赏
收藏
QTimer能否在启动时发射信号?
这里有个计时器,每隔一秒后会发射信号timeout(),但问题是第一个信号会在启动后的第一秒发射,但我希望启动的时候,也就是第0秒的时候就发射第一个信号,有木有办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jklinux
2017-05-27
打赏
举报
回复
你的目的不是希望可以让那个槽函数可以在定时器启动时触发吗
加盾男爵
2017-05-27
打赏
举报
回复
引用 1 楼 jklinux 的回复:
定时器信号发出后会触发连接的槽函数吧? 直接调用连接信号的槽函数不就可以了吗
但问题是,定时器启动时不会发射信号啊。。 比如定时器的间隔设定为2秒,定时器在0秒时启动(timer->start()),那这个定时器的第一个信号发射的时间实在2秒,而我希望第一个信号发射的时间是在0秒,也就是说定时器启动的时刻就发射第一个信号
jklinux
2017-05-27
打赏
举报
回复
1
定时器信号发出后会触发连接的槽函数吧? 直接调用连接信号的槽函数不就可以了吗
军神关云长_大凡
2017-05-27
打赏
举报
回复
是的,如果单单调start,会等待interval秒后才发timeout信号,如果想要即使启动后第一时间发射,直接调timeout对应的槽函数即可。
feiyangqingyun
2017-05-27
打赏
举报
回复
1
你在timer->start()这行代码后面紧跟着写那个timer的槽函数即可,不就实现了你要的效果么?二楼已经回答的很清楚咯! 比如 timerRead = new QTimer(this); connect(timerRead, SIGNAL(timeout()), this, SLOT(readData())); timerRead->start(); readData();
QT
之
QT
imer
详解以及结合多线程中开启定时器的示例
a.void timeout ()定时器超时后,这个
信号
被
发射
。 b.void start()开启定时器,它的重载函数void start(int msec),启动或重新启动一个超时时间间隔为毫秒的定时器。 如果定时器正在运行,它将被停止和重新启动。 c....
QT
imer
的一点点误区
事件循环的,
qt
imer
又是一个很特殊的东西,所以在run中,必须要进入
qt
的事件循环才有用,并且new的时候,还不能 指定parent为this。 但是在
qt
hread的构造函数中,
qt
imer
却是可以的,因为它也是在主线程中构造的么。 ...
Qt
中关于
信号
和槽的基本知识_
QT
imer
类
信号
:当对象改变其状态时,
信号
就由该对象
发射
(emit) 出去,而且对象只负责发送
信号
,它不知道另一端是谁在接收这个
信号
。这样就做到了真正的信息封装,能确保对象被当作一个真正的软件组件来使用 槽:用于接收...
Py
Qt
5之
QT
imer
定时器
如果要在应用程序中周期性地进行某项操作,比如周期性地检测主机的CPU值,则需要用到
QT
imer
定时器,
QT
imer
类提供了重复的和单次的定时器。要使用定时器,需要先创建一个
QT
imer
实例,将其timeout
信号
连接到相应的槽,...
使用
QT
imer
的一些坑
使用
QT
imer
的一些坑
Qt
16,216
社区成员
26,595
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章