2016-09-20 44 views
0

SQLite中有两个表。举一个简单的例子,人物和地址。 如何从两个表映射当前人的数据以形成小部件?如果我们使用两个QDataWidgetMapper的话,我们应该如何同步两张表的当前索引?Qt - 使用QDataWidgetMapper在窗口小部件上映射两个表

是否有另一种方法来显示窗体上的相关数据,包括插入?

我将非常感谢您的帮助和示例。

回答

0

如果我找到了你,你想要join two SQL tables(说personaddress)。如果是这种情况,您需要一个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,以便与多个小部件共享其数据。

相关问题