我知道它们可以一起使用,但我想知道是否有可能在程序的Qt部分(小部件等)中用Boost.Signal替换Qt的信号和插槽机制。
有人试过吗?任何陷阱?
假设我没有使用任何其他MOC功能并用boost.signal替换信号/插槽,是否可以完全不使用moc?
答案 0 :(得分:4)
我认为这是我的一个项目。根据项目的不同,可能会打扰您的一个方面是使用Qt Designer。 Qt-Designer
为其GUI连接创建了下面的信号槽。因此,如果您碰巧使用设计器,最终会得到同时包含signals-slots
和boost::signals
的项目。将它们一起使用存在一些问题。见this博客。虽然它们可以一起工作,但我不会混淆这两种方法。
但我遇到的最大问题是boost::signals
不是线程安全的,而Qt的signal-slot
是!所以这对我来说很容易做出决定,因为我的项目是多线程的。
您可以从{em> Page-11
{获取 boost 和 Qt 所采用的方法的相对优点和缺点{3}} PDF。
HTH
答案 1 :(得分:3)
我认为这不是你想做的事情。 Qt的信号深深地集成在框架中以及如何生成和处理它们。不要浪费你的时间:)。