代码之家  ›  专栏  ›  技术社区  ›  TimW

qt中的界面分离

  •  4
  • TimW  · 技术社区  · 15 年前

    我总是尝试应用 S.O.L.I.D 原则和我真的很喜欢qt工具包,但我发现自己一直在和 single inheritance rule .

    如果您使用多重继承, 主运行中心假定第一个继承者 类是QObject的子类。 此外,请确保只有第一个继承类是QObject。

    如何将来自QObject规则的单个继承与 接口隔离原则 .
    我想定义与信号和插槽的接口,但不允许这样做。

    你是怎么摆脱这个缺点的?

    2 回复  |  直到 7 年前
        1
  •  5
  •   Sty    7 年前

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

    有关流程的完整描述和复杂案例的完整解决方案,请参见 Qt Quarterly #15 .

        2
  •  1
  •   Caleb Huitt - cjhuitt    15 年前

    我不认为用qt的信号/槽机制可以很容易地解决这个问题。您可以尝试查看boost::signals或sigc库,它们在放置信号和插槽方面都更加灵活。注意可能与库和qt的命名空间冲突 signals slots 宏。