我总是尝试应用S.O.L.I.D原则,我真的很喜欢Qt工具包,但我发现自己一直在使用single inheritance rule进行骚扰。
如果您使用多重继承, moc假设第一个继承 class是QObject的子类。 另外,请确保只有第一个继承的类是QObject。
如何组合QObject规则的单一继承和接口隔离原则。
我想用信号和插槽定义接口,但我不允许这样做。
你如何解决这个缺点?
答案 0 :(得分:5)
请记住,信号和插槽只不过是具有特殊行为的功能。因此,可以使用它们来创建接口。
有关流程的完整说明以及复杂案例的完整解决方法,请参阅Qt Quarterly #15。
答案 1 :(得分:1)
我不认为你可以通过Qt的信号/插槽机制轻松解决这个问题。您可以尝试查看boost :: signals或sigc库,它们可以更灵活地放置信号和插槽。请注意可能与库和Qt的signals
和slots
宏发生命名空间冲突。