qt 插槽柯里化
有没有办法咖喱qt插槽?也许有类似 curryng 的东西?
Is there a way curry qt slot? Maybe there is something similar to curryng?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有没有办法咖喱qt插槽?也许有类似 curryng 的东西?
Is there a way curry qt slot? Maybe there is something similar to curryng?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
尽管不可能直接使用 Qt,但可以通过 LibQxt 获得一些绑定/柯里化。例如,来自 QxtBoundFunction 的文档:
虽然我已经向 LibQxt 提交了一些补丁,但我没有直接使用它,所以你的情况可能会有所不同。
Although it's not possible directly using Qt, some binding/currying is available through LibQxt. For example and from the docs of QxtBoundFunction:
Although I have submitted some patches to LibQxt, I haven't used this directly so your mileage may vary.
使用 Qt 信号/槽无法绑定参数。您必须使用 boost::signals 和 boost::bind 来实现此类功能。
Binding arguments is not possible using Qt signal/slots. You'll have to use boost::signals and boost::bind instead to achieve such functionality.
您可以使用 QSignalMapper 将一些信号绑定到它,然后将它自己的信号连接到附加一些参数的目标插槽。
You could use QSignalMapper to bind connect some signals to it and then connect it's own signals to target slots with some parameters attached.
当然,现在我们有了 Qt 5 并能够将信号连接到任意可调用对象:
Of course, now we have Qt 5 and the ability to connect signals to arbitrary callable objects: