概述
1、先说一下QSqlQueryModel 和 QSqlTableModel的区别:QSqlQueryModel模型是只读的,我们利用这个模型显示到TableView上面的数据是不可以编辑的,比如:双击视图是没有反应的。QSqlTableModel是可读可写的,我们利用这个模型显示到TableView上面的数据是可以编辑的,在不子类化的情况下,我们就可以双击对数据进行编辑更改操作。当然我们如果想让QSqlQueryModel模型可以编辑的话,就必须对其子类化,重新实现一些函数,比如:flags/setdata,data......等等。
2、子类化QSqlTableModel模型,为TableView添加复选框:
#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增加复选框及增、删、查操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复