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。
公用函数
- QStringListModel(const QStringList &strings, QObject *parent = nullptr)
- QStringListModel(QObject *parent = nullptr)
- void setStringList(const QStringList &strings)
- QStringList stringList() const
重新实现公共函数
- virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
- virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
- virtual QMap<int, QVariant> itemData(const QModelIndex &index) const override
- virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override
- virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
- virtual Qt::ItemFlags flags(const QModelIndex &index) const override
- virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
- virtual bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override
- virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
- virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const override
- virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override
- virtual Qt::DropActions supportedDropActions() const override