Auf dieser Seite

QStringListModel Class

Die Klasse „QStringListModel“ stellt ein Modell bereit, das Zeichenfolgen an Ansichten übergibt. Mehr...

Header: #include <QStringListModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Erbt von: QAbstractListModel
Vererbt an:

QHelpIndexModel

Öffentliche Funktionen

QStringListModel(QObject *parent = nullptr)
QStringListModel(const QStringList &strings, QObject *parent = nullptr)
void setStringList(const QStringList &strings)
QStringList stringList() const

Neu implementierte öffentliche Funktionen

(since 6.0) 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

Ausführliche Beschreibung

QStringListModel ist ein bearbeitbares Modell, das für einfache Fälle verwendet werden kann, in denen Sie eine Reihe von Zeichenketten in einem Ansichts-Widget anzeigen müssen, wie beispielsweise in einem „ QListView “ oder einem „ QComboBox “.

Das Modell bietet alle Standardfunktionen eines bearbeitbaren Modells und stellt die Daten in der Zeichenfolgenliste als Modell mit einer Spalte und einer Zeilenzahl dar, die der Anzahl der Elemente in der Liste entspricht.

Die den Elementen entsprechenden Modellindizes werden mit der Funktion ` index()` abgerufen, und die Elementflags werden mit ` flags()` abgerufen. Elementdaten werden mit der Funktion ` data()` gelesen und mit ` setData()` geschrieben. Die Anzahl der Zeilen (und die Anzahl der Elemente in der Zeichenfolgenliste) kann mit der Funktion ` rowCount()` ermittelt werden.

Das Modell kann mit einer vorhandenen Zeichenfolgenliste erstellt werden, oder Zeichenfolgen können später mit der Hilfsfunktion „ setStringList()“ festgelegt werden. Zeichenfolgen können auch auf die übliche Weise mit der Funktion „ insertRows()“ eingefügt und mit „ removeRows()“ entfernt werden. Der Inhalt der Zeichenfolgenliste kann mit der Hilfsfunktion „ stringList()“ abgerufen werden.

Ein Anwendungsbeispiel für QStringListModel:

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

Siehe auch „ QAbstractListModel“ , „ QAbstractItemModel “, „ QRangeModel “ und „Modellklassen“.

Dokumentation zu den Mitgliedsfunktionen

[explicit] QStringListModel::QStringListModel(QObject *parent = nullptr)

Erstellt ein String-Listen-Modell mit dem angegebenen „ parent “.

[explicit] QStringListModel::QStringListModel(const QStringList &strings, QObject *parent = nullptr)

Erstellt ein String-Listen-Modell, das die angegebene ` strings ` mit der angegebenen ` parent` enthält.

[override virtual, since 6.0] bool QStringListModel::clearItemData(const QModelIndex &index)

Implementiert: ` QAbstractItemModel::clearItemData(const QModelIndex &index)`.

Diese Funktion wurde in Qt 6.0 eingeführt.

[override virtual] QVariant QStringListModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const

Implementiert neu: ` QAbstractItemModel::data(const QModelIndex &index, int role) const`.

Gibt Daten für das angegebene ` role` aus dem Element mit dem angegebenen ` index` zurück.

Wenn die Ansicht einen ungültigen Index anfordert, wird eine ungültige Variante zurückgegeben.

Siehe auch setData().

[override virtual] Qt::ItemFlags QStringListModel::flags(const QModelIndex &index) const

Umsetzt: ` QAbstractListModel::flags(const QModelIndex &index) const`.

Gibt die Flags für das Element mit dem angegebenen ` index` zurück.

Gültige Elemente sind „enabled“, „selectable“, „editable“, „drag enabled“ und „drop enabled“.

Siehe auch QAbstractItemModel::flags().

[override virtual] bool QStringListModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())

Implementiert neu: QAbstractItemModel::insertRows(int row, int count, const QModelIndex &parent).

Fügt ` count `-Zeilen in das Modell ein, beginnend bei dem angegebenen ` row`.

Der ` parent `-Index der Zeilen ist optional und wird nur aus Gründen der Konsistenz mit ` QAbstractItemModel` verwendet. Standardmäßig wird ein Null-Index angegeben, was bedeutet, dass die Zeilen auf der obersten Ebene des Modells eingefügt werden.

Gibt ` true ` zurück, wenn das Einfügen erfolgreich war.

Siehe auch ` QAbstractItemModel::insertRows()`.

[override virtual] QMap<int, QVariant> QStringListModel::itemData(const QModelIndex &index) const

Implementiert neu: ` QAbstractItemModel::itemData(const QModelIndex &index) const`.

Siehe auch setItemData().

[override virtual] bool QStringListModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)

Umsetzt: ` QAbstractItemModel::moveRows` (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild).

[override virtual] bool QStringListModel::removeRows(int row, int count, const QModelIndex &parent = QModelIndex())

Umsetzung von: ` QAbstractItemModel::removeRows` (int row, int count, const QModelIndex &parent).

Entfernt Zeilen vom Typ „ count “ aus dem Modell, beginnend mit dem angegebenen „ row “.

Der ` parent `-Index der Zeilen ist optional und wird nur aus Gründen der Konsistenz mit ` QAbstractItemModel` verwendet. Standardmäßig wird ein Null-Index angegeben, was bedeutet, dass die Zeilen auf der obersten Ebene des Modells entfernt werden.

Gibt „ true “ zurück, wenn das Entfernen der Zeilen erfolgreich war.

Siehe auch ` QAbstractItemModel::removeRows()`().

[override virtual] int QStringListModel::rowCount(const QModelIndex &parent = QModelIndex()) const

Umsetzt: ` QAbstractItemModel::rowCount(const QModelIndex &parent) const`.

Gibt die Anzahl der Zeilen im Modell zurück. Dieser Wert entspricht der Anzahl der Elemente in der internen Zeichenfolgenliste des Modells.

Das optionale Argument ` parent ` wird in den meisten Modellen verwendet, um den übergeordneten Eintrag der zu zählenden Zeilen anzugeben. Da es sich hierbei um eine Liste handelt, ist das Ergebnis immer 0, wenn ein gültiger übergeordneter Eintrag angegeben wird.

Siehe auch „ insertRows()“, „ removeRows()“ und „ QAbstractItemModel::rowCount()“.

[override virtual] bool QStringListModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

Implementiert: ` QAbstractItemModel::setData` (const QModelIndex &index, const QVariant &value, int role).

Setzt die Daten für das angegebene „ role “ im Element mit dem angegebenen „ index “ im Modell auf den bereitgestellten „ value “.

Das Signal „ dataChanged()“ wird ausgelöst, wenn das Element geändert wird. Gibt „ true “ zurück, nachdem das Signal „ dataChanged()“ ausgelöst wurde.

Siehe auch „ Qt::ItemDataRole “ und „ data()“.

[override virtual] bool QStringListModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)

Implementiert neu: QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles).

Wenn ` roles ` sowohl ` Qt::DisplayRole ` als auch ` Qt::EditRole` enthält, hat Letzteres Vorrang

Siehe auch itemData().

void QStringListModel::setStringList(const QStringList &strings)

Setzt die interne Zeichenfolgenliste des Modells auf „ strings “. Das Modell benachrichtigt alle angehängten Ansichten darüber, dass sich die zugrunde liegenden Daten geändert haben.

Siehe auch „ stringList()“ und „ dataChanged()“.

[override virtual] QModelIndex QStringListModel::sibling(int row, int column, const QModelIndex &idx) const

Implementiert neu: ` QAbstractListModel::sibling(int row, int column, const QModelIndex &idx) const`.

[override virtual] void QStringListModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)

Implementiert: ` QAbstractItemModel::sort` (int column, Qt::SortOrder order).

QStringList QStringListModel::stringList() const

Gibt die vom Modell zum Speichern von Daten verwendete Zeichenfolgenliste zurück.

Siehe auch ` setStringList()`.

[override virtual] Qt::DropActions QStringListModel::supportedDropActions() const

Implementiert: ` QAbstractItemModel::supportedDropActions()` const.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.