QTimer响应的槽函数如何传形参

Michael_Scofield 2013-08-26 01:34:27
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
这里面我想响应的槽函数如何传形参,我只想程序其中一小段绘画函数不断刷新,需要传入数据,求大神帮忙。
...全文
2894 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ibm123 2013-08-30
  • 打赏
  • 举报
回复 1
其实很简单,QTimer的基类是QObject. timer->setProperty("property1", "helo") void update() { QString helo = sender()->property("property1").toString(); }
码上大侠 2013-08-29
  • 打赏
  • 举报
回复
最近我也遇到这个问题了啊,求大神解答。。。
donwmufromdying 2013-08-29
  • 打赏
  • 举报
回复
把你要传的数据放在一个event里,你的event就从QEvent继承,,然后post你的event给目标对象
Michael_Scofield 2013-08-28
  • 打赏
  • 举报
回复
引用 7 楼 foxyz 的回复:
既然是timer,何不用TimerEvent来处理相关的传值异步处理呢?不用tmeout signal就是了
能具体举个例子么,谢
donwmufromdying 2013-08-27
  • 打赏
  • 举报
回复
既然是timer,何不用TimerEvent来处理相关的传值异步处理呢?不用tmeout signal就是了
Michael_Scofield 2013-08-26
  • 打赏
  • 举报
回复
引用 4 楼 hai200501019 的回复:
这么直接的说吧。timeout()信号是QTimer 自带的信号,而这个信号没有参数,你就永远无法 通过这个信号给你的槽函数传值。你想传值,那就自己写一个timer,再自定义一个带参数的信号吧
好的,只能这样了,感谢!
jdwx 2013-08-26
  • 打赏
  • 举报
回复
在update()里调用真正完成某个功能的函数(以前想当作槽的)
海的神话 2013-08-26
  • 打赏
  • 举报
回复
这么直接的说吧。timeout()信号是QTimer 自带的信号,而这个信号没有参数,你就永远无法 通过这个信号给你的槽函数传值。你想传值,那就自己写一个timer,再自定义一个带参数的信号吧
accsoar 2013-08-26
  • 打赏
  • 举报
回复
解说无力……
Michael_Scofield 2013-08-26
  • 打赏
  • 举报
回复
但是这个不可能全变为成员变量,我想重复调用的部分在一个函数的中间,需要用到这个函数算出来的值。难道QT只能变为成员变量槽函数才可以用么?
accsoar 2013-08-26
  • 打赏
  • 举报
回复
数据以成员变量的方式存储,在槽函数中直接访问成员变量就行了,不需要作为参数传递

16,798

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧