小编Arm*_*ast的帖子

将QAbstractTableModel与Qml TableView一起使用仅显示第1列

我正在尝试使用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)

c++ qt model qml

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

model ×1

qml ×1

qt ×1