当前位置: 首页> 游戏> 游戏 > 我要创业找项目_山西建设网官方网站_广州网络营销的推广_网站设计与实现毕业设计

我要创业找项目_山西建设网官方网站_广州网络营销的推广_网站设计与实现毕业设计

时间:2025/7/13 2:27:45来源:https://blog.csdn.net/txwtech/article/details/145559057 浏览次数:0次
我要创业找项目_山西建设网官方网站_广州网络营销的推广_网站设计与实现毕业设计

#pragma once
#include <QAbstractTableModel>
#include <QModelIndex>
#include <QVariant>
#include <vector>class QtTableModel : public QAbstractTableModel {Q_OBJECTpublic:QtTableModel(QObject* parent = nullptr) : QAbstractTableModel(parent) {}~QtTableModel();void setData(const std::vector<std::vector<QVariant>>& data) {beginResetModel();this->data_ = data;rowCount_ = data.size();columnCount_ = !data.empty() ? data[0].size() : 0;endResetModel();}int rowCount(const QModelIndex& parent = QModelIndex()) const override {if (!parent.isValid()) {return rowCount_;}return 0;}int columnCount(const QModelIndex& parent = QModelIndex()) const override {if (!parent.isValid()) {return columnCount_;}return 0;}QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override {if (!index.isValid() || role != Qt::DisplayRole) {return QVariant();}return data_[index.row()][index.column()];}QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override {if (role != Qt::DisplayRole) {return QVariant();}if (orientation == Qt::Horizontal) {// 返回列头数据,这里可以自定义return QString("Column %1").arg(section + 1);}else {// 返回行头数据,这里可以自定义return QString("Row %1").arg(section + 1);}}private:std::vector<std::vector<QVariant>> data_;int rowCount_;int columnCount_;
};
//
//#include <QAbstractTableModel>
//#include <QVector>
//#include <QString>
//class QtTabModel  : public QAbstractTableModel
//{
//	Q_OBJECT
//
//public:
//	//QtTabModel(QObject *parent);
//    QtTabModel(QObject* parent = nullptr) : QAbstractTableModel(parent) {};
//	~QtTabModel();
//    // 必须实现的方法
//    int rowCount(const QModelIndex& parent = QModelIndex()) const override 
//    {
//        Q_UNUSED(parent);
//        return m_data.count();
//    }
//
//    int columnCount(const QModelIndex& parent = QModelIndex()) const override 
//    {
//        Q_UNUSED(parent);
//        return m_columnNames.count();
//    }
//
//    QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override
//    {
//        if (!index.isValid() || m_data.isEmpty())
//            return QVariant();
//
//        if (role == Qt::DisplayRole) {
//            return m_data.at(index.row()).at(index.column());
//        }
//        return QVariant();
//    }
//    // 添加数据的方法
//    void addRow(const QVector<QString>& row) {
//        beginInsertRows(QModelIndex(), rowCount(), rowCount());
//        m_data.append(row);
//        endInsertRows();
//    }
//    // 设置列名
//    void setColumnNames(const QStringList& columnNames) {
//        m_columnNames = columnNames;
//    }
//private:
//    QVector<QVector<QString>> m_data; // 存储表格数据的二维向量
//    QStringList m_columnNames; // 存储列名的列表
//};

 

#include "QtTabModel.h"//QtTabModel::QtTabModel(QObject *parent)//: QAbstractTableModel(parent)
//{}//QtTabModel(QObject* parent = nullptr) : QAbstractTableModel(parent) {}QtTableModel::~QtTableModel()
{}

QT使用QAbstractTableModel 0x8读取访问权限冲突 - txwtech - 博客园

QtTableModel* model;

model = new QtTableModel(); //如果未初始化,则会报错

 

关键字:我要创业找项目_山西建设网官方网站_广州网络营销的推广_网站设计与实现毕业设计

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: