我知道它们可以一起使用,但我想知道是否可以在程序的 Qt 部分(小部件等)中用 Boost.Signal 替换 Qt 的信号和插槽机制。
有人试过吗?有什么陷阱吗?
假设我不使用任何其他 MOC 功能并用 boost.signal 替换信号/插槽,是否可以完全不使用 moc?
最佳答案
我考虑将它用于我的一个项目。根据项目,可能会困扰您的一个方面是使用 Qt Designer . Qt-Designer
在下面为它的 GUI 连接创建信号槽。所以,如果你碰巧使用了设计器,你最终会得到同时具有 signals-slots
和 boost::signals
的项目。将它们一起使用存在一些问题 f.e.见 this博客。尽管他们可以一起工作,但我会避免混合这两种方法。
但我面临的最大问题是 boost::signals
不是线程安全的,而 Qt 的 signal-slot
是!因为我的项目是多线程的,所以对我来说很容易做出决定。
您可以从 Page-11
this PDF。
HTH
关于c++ - 使用 Boost.Signal 代替 Qt 的信号?没有moc吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092658/