You could for example use a QSqlQueryModel and formulate the SQL query such that it joins data from multiple tables.

Btw, that split between contacttype and contactpoint looks strange, I would have just put that into contact.

Cheers,
_