Класс QStringListModel
Класс QStringListModel предоставляет модель, которая предоставляет строки для представлений. Подробнее...
| Заголовок: | #include <QStringListModel> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Наследуется от: | QAbstractListModel |
| Наследует: |
Открытые функции
| QStringListModel(const QStringList &strings, QObject *parent = nullptr) | |
| QStringListModel(QObject *parent = nullptr) | |
| void | setStringList(const QStringList &strings) |
| QStringList | stringList() const |
Переопределенные открытые функции
| virtual bool | clearItemData(const QModelIndex &index) override |
| virtual QVariant | data(const QModelIndex &index, int role = Qt::DisplayRole) const override |
| virtual Qt::ItemFlags | flags(const QModelIndex &index) const override |
| virtual bool | insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override |
| virtual QMap<int, QVariant> | itemData(const QModelIndex &index) const 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 int | rowCount(const QModelIndex &parent = QModelIndex()) const override |
| virtual bool | setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override |
| virtual bool | setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) 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 |
Подробное описание
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); См. также QAbstractListModel, QAbstractItemModel и Классы моделей.
Документация по функциям-членам
QStringListModel::QStringListModel(const QStringList &strings, QObject *parent = nullptr)
Создает модель списка строк, содержащую указанные strings с заданным parent.
QStringListModel::QStringListModel(QObject *parent = nullptr)
Создает модель списка строк с заданным parent.
[override virtual, since 6.0] bool QStringListModel::clearItemData(const QModelIndex &index)
Реализует: QAbstractItemModel::clearItemData(const QModelIndex &index).
Эта функция была добавлена в Qt 6.0.
[override virtual] QVariant QStringListModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const
Реализует: QAbstractItemModel::data(const QModelIndex &index, int role) const.
Возвращает данные для указанного role из элемента с заданным index.
Если представление запрашивает неверный индекс, возвращается недействительный вариант.
См. также setData().
[override virtual] Qt::ItemFlags QStringListModel::flags(const QModelIndex &index) const
Реализует: QAbstractListModel::flags(const QModelIndex &index) const.
Возвращает флаги для элемента с заданным index.
Действительные элементы включены, выбираемы, редактируемы, включены для перетаскивания и включены для помещения.
См. также QAbstractItemModel::flags().
[override virtual] bool QStringListModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())
Реализует: QAbstractItemModel::insertRows(int row, int count, const QModelIndex &parent).
Вставляет count строк в модель, начиная с заданной row.
Индекс parent строк необязателен и используется только для согласованности с QAbstractItemModel. По умолчанию задаётся пустой индекс, указывающий, что строки вставляются на верхнем уровне модели.
Возвращает true если вставка прошла успешно.
См. также QAbstractItemModel::insertRows().
[override virtual, since 5.13] QMap<int, QVariant> QStringListModel::itemData(const QModelIndex &index) const
Реализует: QAbstractItemModel::itemData(const QModelIndex &index) const.
Эта функция была добавлена в Qt 5.13.
См. также setItemData().
[override virtual, since 5.13] bool QStringListModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)
Переопределяет: QAbstractItemModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild).
Данная функция была добавлена в Qt 5.13.
[override virtual] bool QStringListModel::removeRows(int row, int count, const QModelIndex &parent = QModelIndex())
Переопределяет: QAbstractItemModel::removeRows(int row, int count, const QModelIndex &parent).
Удаляет count строк из модели, начиная с указанной строки row.
Индекс parent строк является необязательным и используется только для согласованности с QAbstractItemModel. По умолчанию задаётся нулевой индекс, что означает удаление строк на верхнем уровне модели.
Возвращает true если удаление строк выполнено успешно.
См. также QAbstractItemModel::removeRows().
[override virtual] int QStringListModel::rowCount(const QModelIndex &parent = QModelIndex()) const
Переопределяет: QAbstractItemModel::rowCount(const QModelIndex &parent) const.
Возвращает количество строк в модели. Это значение соответствует количеству элементов в внутреннем списке строк модели.
Необязательный аргумент parent в большинстве моделей используется для указания родителя строк, которые необходимо посчитать. Поскольку это список, если указан допустимый родитель, результат всегда будет 0.
См. также insertRows(), removeRows(), и QAbstractItemModel::rowCount().
[override virtual] bool QStringListModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
Переопределяет: QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role).
Устанавливает данные для указанного role в элементе с заданным index в модели, на предоставленное значение value.
Сигнал dataChanged() генерируется, если элемент изменён. Возвращает true после генерации сигнала dataChanged().
См. также Qt::ItemDataRole и data().
[override virtual, since 5.13] bool QStringListModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
Переопределяет: QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles).
Если roles содержит и Qt::DisplayRole, и Qt::EditRole, то второе будет иметь приоритет.
Данная функция была добавлена в Qt 5.13.
См. также itemData().
void QStringListModel::setStringList(const QStringList &strings)
Устанавливает внутренний список строк модели на strings. Модель уведомит все подключенные представления о том, что её базовые данные изменились.
См. также stringList() и dataChanged().
[override virtual] QModelIndex QStringListModel::sibling(int row, int column, const QModelIndex &idx) const
Переопределяет: QAbstractListModel::sibling(int row, int column, const QModelIndex &idx) const.
[override virtual] void QStringListModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
Переопределяет: QAbstractItemModel::sort(int column, Qt::SortOrder order).
QStringList QStringListModel::stringList() const
Возвращает список строк, используемый моделью для хранения данных.
См. также setStringList().
[override virtual] Qt::DropActions QStringListModel::supportedDropActions() const
Переопределяет: QAbstractItemModel::supportedDropActions() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qstringlistmodel.html