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

概述

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增加复选框及增、删、查操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部