|
|
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 |
|
|
zayd · 在C中Boost程序选项创建的矢量上迭代++ 2 年前 |
|
|
Mimi · CMake使用了错误的boost include目录 2 年前 |
|
|
zxctatar · 如何在一个类中运行两个异步定时器 2 年前 |
|
|
Adrian · 如何确定boost::可选的(和其他)API? 2 年前 |
|
TooTone · boost-pfr是如何获取结构的字段名称的? 3 年前 |