基于Qt 5.2和QML的应用程序。有一个数据库,从继承自QSqlQueryModel
的类中查询它。使用QML TableView
将模型设置为该类的实例。使用model.query().exec()
按需刷新TableView
。
现在我需要对QML Canvas
做同样的事情。 Canvas.onPaint
将使用model.get(index)
浏览模型并使用Canvas.getContext("2d")
进行绘制。但是,当模型更改其数据时(即model.query().exec()
),如何让Canvas重绘所有内容?
我没有找到任何有关如何从模型中获取“数据已更改”信号的信息,以及如何使Canvas清晰地重绘所有内容。
我无法更改此设置,尤其是Qt版本。数据必须通过继承自QSqlQueryModel
的类来自数据库,并且数据必须在Canvas
上绘制。