如果我有一个看起来像这样的表(QLSqlTableModel派生自QSqlRelationalTableModel):
QLSqlTableModel *employeeModel = new QLSqlTableModel(NULL, db);
employeeModel->setTable("Employee");
// employeeModel->setRelation(1, QSqlRelation("Department", "id", "name"));
employeeModel->generateRoleNames();
employeeModel->select();
然后在qml文件中:
TableView {
model: employeeModel
TableViewColumn {
role: "DEPARTMENT_ID"
title: "Dep."
}
}
这似乎符合文档here,除了我使用的是Qt 5.1。虽然关系应该用名称替换部门ID(当我删除C ++代码中的注释时),而是将其删除。