Класс 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.0/qstringlistmodel.html