我总是尝试应用S.O.L.I.D原则,我非常喜欢Qt工具包,但我发现自己一直在与单继承规则搏斗。如果您使用多重继承,则moc会假定第一个继承的类是QObject的子类。此外,请确保只有第一个继承的类是QObject。如何将QObject规则的单一继承和接口隔离原则结合起来?我想使用信号和插槽定义接口,但我不被允许这样做。如何解决这个问题?
我认为你不能轻易地通过Qt的信号/槽机制来解决这个问题。你可以尝试查看boost::signals或者sigc库,它们在信号和槽的放置位置上都更加灵活。请注意,使用这两个库和Qt的signals和slots宏可能会导致命名空间冲突。