![]() |
1
4
Afaik的唯一方法是创建一个qSignalMapper对象来执行此操作。这就像一个额外的间接级别,可以用来生成一个提供列索引的新信号。这是一个有点笨拙的时间,你可以结束与许多qsignalmapper对象一直挂在周围,但似乎是目前最好的方式。(理想情况下,imo,您可以只提供任何值,例如列index to connect(),这些值将作为参数传递到槽中,但您不能。) |
![]() |
2
6
LibQxt 通过qxtBoundFunction和qxtMetaObject实现这一点(前者不显示在 documentation 出于某种原因)。它是一个开放源码项目,因此如果您对实现感兴趣,可以获取源代码。它使用以下语法:
LBQXT 还有一些其他非常有用的功能,比如 emit signals over a QIODevice 如网络连接。 |
![]() |
3
6
你不能用
|
![]() |
4
3
正如上面的注释中所提到的,在qt 5中,这更容易,因为您可以将信号直接连接到函数,例如std::tr1::bind()或boost::bind()。对于Qt4,有许多适配器库。卡莱布提到了libqxt。我有一个在 https://github.com/robertknight/qt-signal-tools |
![]() |
Andre · Boost日志琐碎自动刷新 6 年前 |
![]() |
Vitor · 如何使用boost::bind追加参数? 6 年前 |
![]() |
slepasteur · 提高MSM编译速度 6 年前 |
![]() |
werk jlcv · 如何快速删除数百万个文件 6 年前 |
![]() |
hromer · 我的Boost正则表达式与任何内容都不匹配 6 年前 |
![]() |
user997112 · 使用互斥量和条件变量跨内存提升进程间共享向量 6 年前 |