2016-09-20 5 views
0

SQLiteには2つのテーブルがあります。簡単な例として、人と住所。 現行の人のデータを両方のテーブルからマップしてウィジェットを作成するにはどうすればいいですか? 2つのテーブルの現在のインデックスを同期させるにはどうすればいいですか?QDataWidgetMapperを2つ使用するとどうなりますか?Qt - QDataWidgetMapperを使用してウィジェットで2つのテーブルをマッピングする

挿入を含むフォームに関連するデータを表示する別の方法はありますか?

私はあなたの助けと事例に非常に感謝します。

答えて

0

私があなたに合ったら、join two SQL tables(たとえば、personaddress)とします。この場合、QSqlQueryModelが必要です。

QDataWidgetMapperは、複数のウィジェット間で単一のモデルを共有するために使用されます。しかし、この場合は、1つのウィジェットで2つのテーブルのデータを表示する必要があるようです。

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をこのモデルで使用することもできます。

関連する問題