关于QAbstractItemModel::data () 函数的问题,请老鸟们帮忙看一下
模型视图编程,视图是一个QTableVew实例,模型是自定义的继承自QAbstractTableModel类,但是编译时会出现错误—— 错误:passing 'const ObservedLine' as 'this' argument of 'QString ObservedLine::name()' discards qualifiers 代码如下: //mymodel.hclass ObLineListModle : public QAbstractTableModel{ Q_OBJECTpublic: explicit ObLineListModle(QObject *parent = 0); int rowCount(const QModelIndex &parent) const; int columnCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; private: QList<ObservedLine> obLineList; //自定义数据类}; //myModel.cppObLineListModle::ObLineListModle(QObject *parent) : QAbstractTableModel(parent){} int ObLineListModle::rowCount(const QModelIndex &parent) const{ return obLineList.count();}void ObLineListModle::modelInit(QList<ObservedLine> list){ this->obLineList = list; }int ObLineListModle::columnCount(const QModelIndex &parent) const{ return 1;}QVariant ObLineListModle::data(const QModelIndex &index, int role) const{ if(!index.isValid()) return QVariant(); if (role != Qt::DisplayRole) return QVariant(); int row=index.row(); int column=index.column(); if(row>=obLineList.count()) return QVariant(); switch(column) { case 0: return this->obLineList.at(row).name(); //错误就在这一行 default: return QVariant(); }}//自定义数据类class ObservedLine{public: ObservedLine(); QString name(); private: QString _name; //观测线名称};