4

我总是尝试应用SOLID原则,我真的很喜欢 Qt 工具包,但我发现自己一直在使用单一继承规则

如果使用多重继承,moc 假定第一个继承的类是 QObject 的子类。 此外,请确保只有第一个继承的类是 QObject。

如何将 QObject 规则的单一继承与接口隔离原则结合起来。
我想用信号和槽定义接口,但我不允许这样做。

你如何克服这个缺点?

4

2 回答 2

5

请记住,信号和插槽只不过是具有特殊行为的函数。因此,您可以使用它们来创建接口。

有关该过程的完整描述和复杂案例的完整解决方法,请参阅Qt Quarterly #15

于 2009-09-29T16:29:17.793 回答
1

我不认为你可以通过 Qt 的信号/槽机制轻松解决这个问题。您可以尝试查看 boost::signals 或 sigc 库,它们在放置信号和插槽的位置都更加灵活。请注意可能与库、Qtsignalsslots宏的命名空间冲突。

于 2009-09-29T15:42:08.280 回答