SQLite中有两个表。举个简单的例子,人和地址。
如何将当前人的数据从两个表映射到窗体小部件?如果我们使用两个QDataWidgetMapper
,我们应该如何同步两个表的当前索引?
是否有其他方法可以在表单上显示相关数据,包括插入?
我非常感谢你的帮助和例子。
答案 0 :(得分:0)
如果我找到你,你想要join two SQL tables(说person
和address
)。如果是这种情况,则需要QSqlQueryModel
。
请注意,QDataWidgetMapper
用于在多个小部件之间共享单个模型。但是在这种情况下,您似乎希望在一个小部件中显示来自两个表的数据。
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT name, city FROM person INNER JOIN address ON persion.id=address.id");
model->setHeaderData(0, Qt::Horizontal, tr("Name"));
model->setHeaderData(1, Qt::Horizontal, tr("City"));
现在,您可以在任何需要的地方使用此2D模型。此外,您可以在此模型中使用QDataWidgetMapper
,以便与多个小部件共享其数据。