我正在尝试使用QAbstractTableModel的一个(派生类)和一个Qml TableView;
但是,仅显示第1列.
原因是没有为非零列调用QVariant MyModel :: data(const QModelIndex&index,int role),但我不明白为什么.
但是,QTableView工作正常.
我做了一个单独的,简单的项目来重现我的问题:
MyModel.h:
#ifndef MYMODEL_H
#define MYMODEL_H
#include <QObject>
#include <QAbstractTableModel>
#include <QList>
#include <QString>
#include <QDebug>
struct SimpleData
{
QString m_one;
qint32 m_two;
qreal m_three;
};
class MyModel : public QAbstractTableModel
{
Q_OBJECT
public:
explicit MyModel();//MyData *the_data);
int rowCount(const QModelIndex & parent = QModelIndex()) const Q_DECL_OVERRIDE;
int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE;
QHash<int, QByteArray> roleNames() const Q_DECL_OVERRIDE;
signals: …Run Code Online (Sandbox Code Playgroud)