我是靠谱客的博主 拉长春天,这篇文章主要介绍使用QSqlTableModel为TableView增加复选框及增、删、查操作,现在分享给大家,希望可以做个参考。

1、先说一下QSqlQueryModel 和 QSqlTableModel的区别:QSqlQueryModel模型是只读的,我们利用这个模型显示到TableView上面的数据是不可以编辑的,比如:双击视图是没有反应的。QSqlTableModel是可读可写的,我们利用这个模型显示到TableView上面的数据是可以编辑的,在不子类化的情况下,我们就可以双击对数据进行编辑更改操作。当然我们如果想让QSqlQueryModel模型可以编辑的话,就必须对其子类化,重新实现一些函数,比如:flags/setdata,data......等等。

2、子类化QSqlTableModel模型,为TableView添加复选框:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef ZZCTABLEVIEWMODEL_H #define ZZCTABLEVIEWMODEL_H #include <QObject> #include <QSqlTableModel> class zzcTableViewModel : public QSqlTableModel { Q_OBJECT public: explicit zzcTableViewModel(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase()); protected: QVariant data(const QModelIndex &index, int role) const; bool setData(const QModelIndex &, const QVariant &, int); Qt::ItemFlags flags(const QModelIndex &) const; public: QMap<int, Qt::CheckState> check_state_map; signals: void

最后

以上就是拉长春天最近收集整理的关于使用QSqlTableModel为TableView增加复选框及增、删、查操作的全部内容,更多相关使用QSqlTableModel为TableView增加复选框及增、删、查操作内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部