在QT中将双信号连接到QString插槽的最佳方法是什么?由于这些信号和插槽不兼容,因此无法进行方向连接。是否存在类似于WPF数据绑定中使用的值转换器的机制,以便在QT中实现此目的?
我可以实现我自己的双槽,然后发出我自己的QString信号,但它只是为简单的值转换感觉很多。还有其他方法吗?
答案 0 :(得分:0)
不幸的是,除了创建适配器QObject之外,没有这样的东西。传递Qt允许的参数最奇怪的颠覆是将带有参数的信号连接到没有参数的插槽(参数被忽略)以及混合和匹配Type
和const Type&
(我不是100%肯定在此)。
通过重新实现qt_metacall
方法并使用不同的转换策略和信号/插槽arity,您可以对适配器感到疯狂。与简单地创建双插槽相比,这是一项相当大(而且有趣)的任务。