Qt等效于.NET数据绑定?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

Qt中有.NET的数据绑定吗?

我想用QStrings来填充一些组合框和其他小部件,这些QStrings指向我数据库中的特定实体。但是,如果我可以将数据绑定到这些字符串,而不是基于新的组合框选择或基于构建我自己的将使用QStrings搜索的实体索引的其他方案来再次查询数据库,它会更干净。

我提出的最好的方法是从QString派生这些实体,并以这种方式将它们推送到小部件中,但我还没有真正尝试过。我不确定它是否会以我想要的方式工作,并且它看起来像一个讨厌的黑客。

如果没有数据绑定,你有什么建议?

提问于
用户回答回答于

好吧,对于组合框专门来说,你可以设置一个模型。对于QObject总体而言,可以使用通知信号来连接属性或与属性相关的其他信号。我认为还有另一种方式可以做到,但我不记得。

用户回答回答于

一种方法是使用Qt模型/视图类(以QAbstractItemModel为基础),但他们需要小部件继承QAbstractItemView(这是像QTableView等小部件)。 如果想将Qt模型映射到一组窗口小部件,它们与QAbstractItemView没有共同之处,可以使用QDataWidgetMapper,它将单独的窗口小部件映射到Qt Model / View索引。但无论如何,你必须写一些boiler plate代码

扫码关注云+社区