我正在尝试实现以下内容:
有2d表的值 . 我需要实现用于查看数据和编辑数据的UI . 为了简化来自后端的编辑和来自后端的表更新之间的同步,我希望模型存储未提交的编辑值,并公开一些方法来接受/拒绝挂起的更改 .
根据我的理解,这对QtWidgets模型来说相当容易:
QAbstractTableModel上的基础模型 . 添加一些额外的角色来存储/查询挂起的更改等 . 使用QTableView和自定义项委托,可以查询模型是否可以编辑单元格,显示未提交的更改等 .
但我很困惑如何实现它QtQuick.Controls.TableView . 从我的实验中,TableView不能与QAbstractTableModel一起使用 - 它迭代模型的第一列并使用角色来模拟第二维 .
有没有办法让TableView正确使用QAbstractTableModel?作为替代方案 - 我可以更改模型以使用列的角色,但我不确定如何处理单元格数据的其他方面(修改标志,未提及的值等) . 到目前为止,我唯一的想法是为每个单元格返回复合(字典)值 . 例如 . 将QMap或QJsonObject作为“cell”的值返回并在QML端解释它 .
有没有其他方法可以做到这一点?如果我决定实现我的第二个解决方案 - QMap或QJsonObject,那会更有效吗?
1 回答
这是一个例子,它可能会对你有所帮助
假设我们的sqlite数据库包含一个表“mytable”,其中包含三列“nom”(文本),“prenom”(文本)和“image”(url as text)
--------------------------- PRESENCEMODEL.h
--------------------------- PRESENCEMODEL.cpp
--------------------------- main.cpp
QML
--------------------------- main.qml