我想创建一个软件来浏览一些数据库表并且用户将能够编辑这些表。在阅读此链接之后,我认为模型/视图是满足我需要的好方法。看看下面的模型:
知道了这一点,我有一些问题要确保我理解这个概念。请告诉我我是否朝着好的方向发展:
我想我需要为每个表创建一个模型类?(子类化 QAbstractModel)。它看起来像这样:
class citiesTableModel : public QAbstractItemModel { Q_OBJECT }
cityTableModel 构造函数会从数据库中的表中获取数据吗?
QAbstractItemModel *model = new citiesTableModel(); //model will contain 2 rows, New York and Seattle
我需要为每个不同的模型子类 QTableView 吗?
class citiesTableView : public QTableView{}
- Finnaly,我猜 view.setData 和 view.setModel 需要重新实现?setModel 将遍历每个模型行以构建 QTableView,而 setData 将执行适当的查询以在模型中添加新数据?
非常感谢你。