我有一个名为List的类来打印一个列表
class List : public QAbstractListModel
{
Q_OBJECT
Q_ENUMS(Roles)
公开:
enum Roles {
address = Qt::UserRole + 1,
name
};
DeviceList(QObject *parent = 0);
void addrows(const Manager &client);
int rowCount(const QModelIndex & parent = QModelIndex()) const;
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
受保护:
QHash<int, QByteArray> roleNames() const;
私人:
QList< Manager > m_client;
};
另一个班级经理为
class Manager : public QObject
{
Q_OBJECT
Q_PROPERTY(List* List READ getList CONSTANT)
公开:
Manager(const QString &address, const QString &name);
QString address() const;
QString name() const;
virtual List* getList() = 0;
私人:
QString m_address;
QString m_name;
};
现在我正在尝试将manager.cpp中的addrows添加为
void List::addrows(const Manager &client)
{
beginInsertRows(QModelIndex(), rowCount(), rowCount());
m_client << client; // **i am getting error here**
endInsertRows();
}
我的意图是在manager.cpp文件中实现getlist
List* Manager :: getList()
{
List* list = new List();
list->addrows(Manager("street1","John"));
list->addrows(Manager("street2:","Tim"));
list->addrows(Manager("street3","Roberrt"));
return list;
}