【问题标题】:add rows in the List在列表中添加行
【发布时间】:2016-06-07 11:40:49
【问题描述】:

我有一个名为 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;
};

另外一个类Manager

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;

};

现在我正在尝试将 ma​​nager.cpp 中的 addrows 作为

void List::addrows(const Manager &client)
{
    beginInsertRows(QModelIndex(), rowCount(), rowCount());

    m_client << client; // **i am getting error here** 

    endInsertRows();
}

我的意图是在 ma​​nager.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;
}

【问题讨论】:

  • 错误是什么?
  • 从 manager.h 中的 virtual List* getList() = 0; 中删除 =0
  • 但编译错误在我评论的地方很有趣

标签: qt qabstractlistmodel


【解决方案1】:

为了使用操作符

【讨论】:

  • 我没听懂你,你能详细说明一下,或者提供示例代码
猜你喜欢
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
相关资源
最近更新 更多