我已经有了一个更大的项目和架构,并遇到了QT信号时隙系统的情况,信号非常均匀,问题如下:1.不同名称的不同信号方法如QT有条件的信号发射效率
signals:
sig_1(bool b);
sig_2(bool b);
...
sig_n(bool b);
或: 2.冒落的差作为参数
signal:
sig(uint n, bool b);
并让槽方法决定如果n适合它的内部值
个每个选项更糟糕的是,其他:
- awefull代码,我宁愿更像是一个通用的解决方案
- 每个时隙必须检查它是否数字将适合,所以每次的O一排(N)连接,当moc已经通过一个开关块,我们可以达到O(log n)
情况:发射器是一个微控制器的抽象,并获知输入变化。许多插槽类只有一个或两个输入连接,需要了解其变化。在结构上,发射类不应该依赖于slot-class,因此不应该保留它的监听器列表或者包含一个公共的超类或监听器接口,这就是为什么我坚持使用信号/时隙系统。
所以我的问题: sig/slot系统或moc中是否存在某种扩展或参数,或者我在这里完全错过了某些东西?
如果您使用的是Qt 5和连接使用函数指针的新语法的信号和槽,槽应该被直接调用(不通过'qt_static_metacall会()'和'其之开关) 。 –