1

我使用 QSqlQueryModel 的子类来公开我的 QML 项目中 ListView 的数据。我想同时做这两个:

  1. 使用模型的指针setContextProperty()将模型公开给 QML 。

  2. 将模型留在另一个线程中,这样当我调用模型update()函数(执行最后一个查询以反映数据库中更改的数据)时,模型在重新查询数据库时不会阻塞 UI。

是否可以?如果没有,更好的解决方案是什么?

4

1 回答 1

0

我的解决方案是:子类QThread,将QmlApplicationViewer指针传递给它的构造函数,在新类DatabaseQueryThread中,我在那里为查看器设置上下文属性。这样,Qt 将允许我直接通过指针提供对查询模型的访问。

于 2012-08-15T01:41:32.923 回答