2016-09-20 80 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,以便與多個小部件共享其數據。

相關問題