【问题标题】:Qt: data bindingQt:数据绑定
【发布时间】:2014-08-29 07:28:47
【问题描述】:

来自 Java 和 .NET,我已经习惯于以声明方式将域对象绑定到 UI 控件。似乎并没有真正建立双向连接(非 Qt)域对象和 Qt 对象的惯用方式。在域对象中实现信号槽机制显然会污染核心域模型并引入不需要的依赖关系。

我知道数据库绑定可用,但这不是我的用例。

大型Qt项目在这方面的做法是什么?

【问题讨论】:

  • 您是否将 'QAbstractItemModel` 视为域对象和 Qt 世界之间的适配器以及用于绑定的 QDataWidgetMapper

标签: qt data-binding observer-pattern


【解决方案1】:

如果您想在 Qt 中使用松散耦合,那么信号和槽是可行的方法。当然,为此您需要 Qt 对象。是的,你会以这种方式“污染”你的核心模型。如果您想避免这种“污染”(大多数 Qt 项目都接受),您需要使用标准 C++ 模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-21
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多