信号和槽能否传递结构体体指针吗?

linkage3292 2012-06-26 04:40:33
Qt的信号和槽支持传递指针型变量吗?
这样指针传递有可能出现问题吗?请经验着给个说明。。

...全文
1040 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjianxinxh 2013-08-06
  • 打赏
  • 举报
回复
引用 8 楼 wjian20 的回复:
[quote=引用 3 楼 jinjianxinxh 的回复:] 不要传递模板类参数
为什么不能传递模板类参数[/quote] 看看qt信号和槽的实现机制
wjian20 2013-07-15
  • 打赏
  • 举报
回复
引用 3 楼 jinjianxinxh 的回复:
不要传递模板类参数
为什么不能传递模板类参数
xiebin133 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:
引用 2 楼 的回复:

指针是肯定能传的,只是不能传函数指针
传指针比较常见的例子就是传递QListWidget等控件中的item
如:
C/C++ code
connect(chooseList,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(chooseListSelected(QListWidgetIte……
[/Quote]
并不是传 啥子多没得问题,有些类型是不能传的,比如windows上做视频传输, PBITMAPINFOHEADER 这种类型就不能传,要做一次转换。
tt2com 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 2 楼 的回复:

指针是肯定能传的,只是不能传函数指针
传指针比较常见的例子就是传递QListWidget等控件中的item
如:
C/C++ code
connect(chooseList,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(chooseListSelected(QListWidgetItem*)));

这里很……
[/Quote]
么得问题,你传啥子都没问题。
linkage3292 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

指针是肯定能传的,只是不能传函数指针
传指针比较常见的例子就是传递QListWidget等控件中的item
如:
C/C++ code
connect(chooseList,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(chooseListSelected(QListWidgetItem*)));

这里很详细的介绍了一下信号和槽的用法……
[/Quote]

如果不用QVariant来传,直接传自己定义的结构体指针可行吗?
中才德创 2012-06-26
  • 打赏
  • 举报
回复
可以的。没问题!
jinjianxinxh 2012-06-26
  • 打赏
  • 举报
回复
不要传递模板类参数
我是学友 2012-06-26
  • 打赏
  • 举报
回复
指针是肯定能传的,只是不能传函数指针
传指针比较常见的例子就是传递QListWidget等控件中的item
如:
connect(chooseList,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(chooseListSelected(QListWidgetItem*)));

这里很详细的介绍了一下信号和槽的用法:
http://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/
另外看你的标题是问结构体指针?
指针就像上面所说,不过传结构体的话,需要一个宏
这是我的博客里总结了一下传结构体的
http://blog.csdn.net/storylsl/article/details/7240412
zhu_xz 2012-06-26
  • 打赏
  • 举报
回复
当然可以传递指针,Qt自己的一些类提供的信号都是在传递指针

16,239

社区成员

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

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