Qt模型/视图SQL推荐
我刚刚开始使用Qt的模型/视图框架,我试图找到一个似乎很常见而且可能非常简单的问题的最佳解决方案 我有一个Qt模型/视图SQL推荐,sql,qt,model-view,Sql,Qt,Model View,我刚刚开始使用Qt的模型/视图框架,我试图找到一个似乎很常见而且可能非常简单的问题的最佳解决方案 我有一个Employee表(Id、LastName、FirstName、Salary),我想显示同一个表的两个不同视图: -第一个视图:只有一个QListView,包括名字和姓氏的串联。此视图不应可编辑,但一次只能选择一名员工。 -第二个视图:使用3xQLineEdit作为姓名、名字和薪水。这三个字段用于更改数据库的内容 通过使用QSqlQueryModel,我成功地在QListView中正确显示了
Employee
表(Id、LastName、FirstName、Salary)
,我想显示同一个表的两个不同视图:
-第一个视图:只有一个QListView
,包括名字和姓氏的串联。此视图不应可编辑,但一次只能选择一名员工。
-第二个视图:使用3xQLineEdit
作为姓名、名字和薪水。这三个字段用于更改数据库的内容
通过使用QSqlQueryModel
,我成功地在QListView
中正确显示了[Name,FirstName]
QSqlQueryModel* modelSQL = new QSqlQueryModel(this);
modelQuery->setQuery("SELECT CONCAT(LastName, ', ', FirstName) AS FullName, Id FROM Employee ORDER BY FullName ASC;");
empListView = new QListView;
empListView->setModel(modelSQL);
我设法使用QSqlTableModel
和QDataWidgetMapper
在QLineEdit
中显示所有三个字段
QSqlTableModel *model = new QSqlTableModel(this, this->db);
model->setTable("Employee");
model->select();
mapper = new QDataWidgetMapper(this);
mapper->setModel(modelSQL);
mapper->addMapping(this->lastNameEdit, 2);
mapper->addMapping(this->firstNameEdit, 3);
mapper->addMapping(this->salaryEdit, 4);
我的问题是,从modelQuery
更新模型的最佳策略是什么。我的意思是,当我点击QListView
并选择第三名员工时;如何相应地同步其他三个字段
非常感谢