模型视图(05):【类】QStringListModel[官翻]

QStringListModel 类

QStringListModel类提供了一个为视图提供字符串的模型。

Header:#include < QStringListModel >
qmake:QT += core
Inherits:QAbstractListModel
Inherited By:

详述

QStringListModel是一个可编辑的模型,可以用于需要在视图小部件中显示大量字符串的简单情况,比如QListView或QComboBox。

该模型提供了编辑模型的所有标准功能,它将字符串列表中的数据表示为一个模型,该模型的一列和行数与列表中的项数相等。

使用index()函数获得与项目对应的模型索引,使用flags()获得项目标记。用data()函数读取项数据,用setData()写入项数据。行数(和字符串列表中的项数)可以通过rowCount()函数找到。

可以使用现有的字符串列表构造模型,也可以稍后使用方便函数setStringList()对字符串进行设置。还可以使用insertRows()函数按照通常的方式插入字符串,并使用removeRows()删除字符串。字符串列表的内容可以使用方便函数stringList()来检索。

一个使用QStringListModel的例子:

     QStringListModel *model = new QStringListModel();
     QStringList list;
     list << "a" << "b" << "c";
     model->setStringList(list);

See also QAbstractListModel, QAbstractItemModel, and Model Classes。

公用函数

  1. QStringListModel(const QStringList &strings, QObject *parent = nullptr)
  2. QStringListModel(QObject *parent = nullptr)
  3. void setStringList(const QStringList &strings)
  4. QStringList stringList() const

重新实现公共函数

  1. virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
  2. virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
  3. virtual QMap<int, QVariant> itemData(const QModelIndex &index) const override
  4. virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override
  5. virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
  6. virtual Qt::ItemFlags flags(const QModelIndex &index) const override
  7. virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
  8. virtual bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override
  9. virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
  10. virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const override
  11. virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override
  12. virtual Qt::DropActions supportedDropActions() const override
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值