Auf dieser Seite

QStandardItemModel Class

Die Klasse „QStandardItemModel“ bietet ein generisches Modell zum Speichern benutzerdefinierter Daten. Mehr...

Header: #include <QStandardItemModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Erbt von: QAbstractItemModel

Eigenschaften

Öffentliche Funktionen

QStandardItemModel(QObject *parent = nullptr)
QStandardItemModel(int rows, int columns, QObject *parent = nullptr)
virtual ~QStandardItemModel()
void appendColumn(const QList<QStandardItem *> &items)
void appendRow(const QList<QStandardItem *> &items)
void appendRow(QStandardItem *item)
QBindable<int> bindableSortRole()
void clear()
QList<QStandardItem *> findItems(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly, int column = 0) const
QStandardItem *horizontalHeaderItem(int column) const
QModelIndex indexFromItem(const QStandardItem *item) const
void insertColumn(int column, const QList<QStandardItem *> &items)
bool insertColumn(int column, const QModelIndex &parent = QModelIndex())
void insertRow(int row, const QList<QStandardItem *> &items)
bool insertRow(int row, const QModelIndex &parent = QModelIndex())
void insertRow(int row, QStandardItem *item)
QStandardItem *invisibleRootItem() const
QStandardItem *item(int row, int column = 0) const
QStandardItem *itemFromIndex(const QModelIndex &index) const
const QStandardItem *itemPrototype() const
void setColumnCount(int columns)
void setHorizontalHeaderItem(int column, QStandardItem *item)
void setHorizontalHeaderLabels(const QStringList &labels)
void setItem(int row, int column, QStandardItem *item)
void setItem(int row, QStandardItem *item)
void setItemPrototype(const QStandardItem *item)
void setItemRoleNames(const QHash<int, QByteArray> &roleNames)
void setRowCount(int rows)
void setSortRole(int role)
void setVerticalHeaderItem(int row, QStandardItem *item)
void setVerticalHeaderLabels(const QStringList &labels)
int sortRole() const
QList<QStandardItem *> takeColumn(int column)
QStandardItem *takeHorizontalHeaderItem(int column)
QStandardItem *takeItem(int row, int column = 0)
QList<QStandardItem *> takeRow(int row)
QStandardItem *takeVerticalHeaderItem(int row)
QStandardItem *verticalHeaderItem(int row) const

Neu implementierte öffentliche Funktionen

virtual bool clearItemData(const QModelIndex &index) override
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override
virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
virtual QMap<int, QVariant> itemData(const QModelIndex &index) const override
virtual QMimeData *mimeData(const QModelIndexList &indexes) const override
virtual QStringList mimeTypes() const override
virtual void multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const override
virtual QModelIndex parent(const QModelIndex &child) const override
virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override
virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
virtual QHash<int, QByteArray> roleNames() const 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 setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override
virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override
virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override
virtual Qt::DropActions supportedDropActions() const override

Signale

void itemChanged(QStandardItem *item)

Ausführliche Beschreibung

QStandardItemModel kann als Speicherort für Standard-Qt-Datentypen verwendet werden. Es gehört zu den Modell-/Ansichtsklassen und ist Teil des Modell-/Ansichts -Frameworks von Qt.

QStandardItemModel bietet einen klassischen, elementbasierten Ansatz für die Arbeit mit dem Modell. Die Elemente in einem QStandardItemModel werden von QStandardItem bereitgestellt.

QStandardItemModel implementiert die Schnittstelle „ QAbstractItemModel “, was bedeutet, dass das Modell zur Bereitstellung von Daten in jeder Ansicht verwendet werden kann, die diese Schnittstelle unterstützt (wie z. B. „ QListView “, „ QTableView “ und „ QTreeView “ sowie Ihre eigenen benutzerdefinierten Ansichten). Aus Gründen der Leistung und Flexibilität empfiehlt es sich, eine Unterklasse von ` QAbstractItemModel ` zu erstellen, um Unterstützung für verschiedene Arten von Datenspeichern zu bieten. Beispielsweise stellt ` QFileSystemModel ` eine Modellschnittstelle zum zugrunde liegenden Dateisystem bereit.

Wenn Sie eine Liste oder einen Baum erstellen möchten, erstellen Sie in der Regel ein leeres `QStandardItemModel` und verwenden ` appendRow()` zum Hinzufügen von Elementen zum Modell sowie ` item()` zum Zugriff auf ein Element. Wenn Ihr Modell eine Tabelle darstellt, übergeben Sie in der Regel die Abmessungen der Tabelle an den Konstruktor von `QStandardItemModel` und verwenden ` setItem()` zum Positionieren von Elementen in der Tabelle. Sie können außerdem die Methoden „ setRowCount()“ und „ setColumnCount()“ verwenden, um die Abmessungen des Modells zu ändern. Um Elemente einzufügen, verwenden Sie „ insertRow()“ oder „ insertColumn()“, und um Elemente zu entfernen, verwenden Sie „ removeRow()“ oder „ removeColumn()“.

Sie können die Beschriftungen der Kopfzeilen Ihres Modells mit setHorizontalHeaderLabels() und setVerticalHeaderLabels() festlegen.

Mit „ findItems “ () können Sie nach Elementen im Modell suchen und das Modell durch Aufruf von „ sort “ () sortieren.

Rufen Sie „ clear()“ auf, um alle Elemente aus dem Modell zu entfernen.

Ein Anwendungsbeispiel für QStandardItemModel zum Erstellen einer Tabelle:

QStandardItemModel model(4, 4);
for (int row = 0; row < model.rowCount(); ++row) {
    for (int column = 0; column < model.columnCount(); ++column) {
        QStandardItem *item = new QStandardItem(QString("row %0, column %1").arg(row).arg(column));
        model.setItem(row, column, item);
    }
}

Ein Anwendungsbeispiel für QStandardItemModel zum Erstellen einer Baumstruktur:

QStandardItemModel model;
QStandardItem *parentItem = model.invisibleRootItem();
for (int i = 0; i < 4; ++i) {
    QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
    parentItem->appendRow(item);
    parentItem = item;
}

Nachdem Sie das Modell einer Ansicht zugewiesen haben, möchten Sie in der Regel auf Benutzeraktionen reagieren, beispielsweise wenn ein Element angeklickt wird. Da ein ` QAbstractItemView ` auf ` QModelIndex` basierende Signale und Funktionen bereitstellt, benötigen Sie eine Möglichkeit, das ` QStandardItem ` zu ermitteln, das einem bestimmten ` QModelIndex` entspricht, und umgekehrt. ` itemFromIndex()` und ` indexFromItem()` stellen diese Zuordnung bereit. Zu den typischen Anwendungsfällen von ` itemFromIndex()` gehört das Abrufen des Elements am aktuellen Index in einer Ansicht sowie das Abrufen des Elements, das einem Index entspricht, der von einem Signal vom Typ ` QAbstractItemView ` übertragen wird, wie beispielsweise ` QAbstractItemView::clicked()`. Zunächst verbinden Sie das Signal der Ansicht mit einem Slot in Ihrer Klasse:

QTreeView *treeView = new QTreeView(this);
treeView->setModel(myStandardItemModel);
connect(treeView, &QTreeView::clicked,
        this, &MyWidget::clicked);

Wenn Sie das Signal empfangen, rufen Sie ` itemFromIndex()` für den angegebenen Modellindex auf, um einen Zeiger auf das Element zu erhalten:

void MyWidget::clicked(const QModelIndex &index)
{
    QStandardItem *item = myStandardItemModel->itemFromIndex(index);
    // Do stuff with the item ...
}

Umgekehrt müssen Sie den ` QModelIndex ` eines Elements ermitteln, wenn Sie eine Modell-/Ansichtsfunktion aufrufen möchten, die einen Index als Argument benötigt. Sie können den Index entweder mithilfe der Funktion ` indexFromItem()` des Modells oder, was dasselbe ist, durch Aufruf von ` QStandardItem::index()` ermitteln:

treeView->scrollTo(item->index());

Sie sind natürlich nicht verpflichtet, den elementbasierten Ansatz zu verwenden; Sie könnten sich stattdessen bei der Arbeit mit dem Modell vollständig auf die Schnittstelle „ QAbstractItemModel “ verlassen oder je nach Bedarf eine Kombination aus beiden Ansätzen nutzen.

Siehe auch „ QStandardItem“ , „Model/View-Programmierung“, „ QAbstractItemModel “, „ QRangeModel “, das Beispiel „Einfaches Baummodell“ und „Hilfsklassen für die Item-Ansicht“.

Dokumentation zu den Eigenschaften

[bindable] sortRole : int

Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.

Diese Eigenschaft enthält die Elementrolle, die zum Abfragen der Modelldaten beim Sortieren von Elementen verwendet wird

Der Standardwert ist „ Qt::DisplayRole “.

Zugriffsfunktionen:

int sortRole() const
void setSortRole(int role)

Siehe auch „ sort()“ und „ QStandardItem::sortChildren()“.

Dokumentation zu Member-Funktionen

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

Erstellt ein neues Elementmodell mit dem angegebenen „ parent “.

QStandardItemModel::QStandardItemModel(int rows, int columns, QObject *parent = nullptr)

Erstellt ein neues Elementmodell, das anfangs rows Zeilen und columns Spalten hat und die angegebene parent aufweist.

[virtual noexcept] QStandardItemModel::~QStandardItemModel()

Löst das Modell auf. Das Modell vernichtet alle seine Gegenstände.

void QStandardItemModel::appendColumn(const QList<QStandardItem *> &items)

Fügt eine Spalte hinzu, die „ items “ enthält. Falls erforderlich, wird die Zeilenanzahl auf die Größe von „ items “ erhöht.

Siehe auch insertColumn() und appendRow().

void QStandardItemModel::appendRow(const QList<QStandardItem *> &items)

Fügt eine Zeile hinzu, die items enthält. Falls erforderlich, wird die Spaltenanzahl auf die Größe von items erhöht.

Siehe auch insertRow() und appendColumn().

void QStandardItemModel::appendRow(QStandardItem *item)

Beim Erstellen einer Liste oder eines Baums mit nur einer Spalte bietet diese Funktion eine bequeme Möglichkeit, ein einzelnes neues Element anzuhängen: item.

Dies ist eine überladene Funktion.

void QStandardItemModel::clear()

Entfernt alle Elemente (einschließlich der Kopfzeilenelemente) aus dem Modell und setzt die Anzahl der Zeilen und Spalten auf Null.

Siehe auch removeColumns() und removeRows().

[override virtual] bool QStandardItemModel::clearItemData(const QModelIndex &index)

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

[override virtual] int QStandardItemModel::columnCount(const QModelIndex &parent = QModelIndex()) const

Implementiert neu: ` QAbstractItemModel::columnCount(const QModelIndex &parent) const`.

Siehe auch setColumnCount().

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

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

Siehe auch setData().

[override virtual] bool QStandardItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

Implementiert: ` QAbstractItemModel::dropMimeData` (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).

QList<QStandardItem *> QStandardItemModel::findItems(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly, int column = 0) const

Gibt eine Liste von Elementen zurück, die dem angegebenen „ text “ entsprechen, unter Verwendung des angegebenen „ flags “ im angegebenen „ column “.

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

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

[override virtual] bool QStandardItemModel::hasChildren(const QModelIndex &parent = QModelIndex()) const

Implementiert neu: ` QAbstractItemModel::hasChildren(const QModelIndex &parent) const`.

[override virtual] QVariant QStandardItemModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const

Implementiert neu: ` QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const`.

Siehe auch ` setHeaderData()`.

QStandardItem *QStandardItemModel::horizontalHeaderItem(int column) const

Gibt das horizontale Kopfzeilenelement für „ column “ zurück, sofern eines festgelegt wurde; andernfalls wird „ nullptr “ zurückgegeben.

Siehe auch setHorizontalHeaderItem() und verticalHeaderItem().

[override virtual] QModelIndex QStandardItemModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

Implementiert: ` QAbstractItemModel::index` (int row, int column, const QModelIndex &parent) const.

QModelIndex QStandardItemModel::indexFromItem(const QStandardItem *item) const

Gibt den „ QModelIndex “ zurück, der mit dem angegebenen „ item “ verknüpft ist.

Verwenden Sie diese Funktion, wenn Sie eine Operation ausführen möchten, für die die ` QModelIndex ` des Elements erforderlich ist, wie beispielsweise ` QAbstractItemView::scrollTo()`. ` QStandardItem::index()` wird als Erleichterung bereitgestellt; sie entspricht dem Aufruf dieser Funktion.

Siehe auch „ itemFromIndex()“ und „ QStandardItem::index()“.

void QStandardItemModel::insertColumn(int column, const QList<QStandardItem *> &items)

Fügt eine Spalte an der Position column ein, die den Wert items enthält. Falls erforderlich, wird die Zeilenanzahl auf die Größe von items erhöht.

Siehe auch takeColumn(), appendColumn() und insertRow().

bool QStandardItemModel::insertColumn(int column, const QModelIndex &parent = QModelIndex())

Fügt eine einzelne Spalte vor dem angegebenen „ column “ in die untergeordneten Elemente des angegebenen „ parent “ ein. Gibt „ true “ zurück, wenn die Spalte eingefügt wurde; andernfalls wird „ false “ zurückgegeben.

Siehe auch insertColumns(), insertRow() und removeColumn().

[override virtual] bool QStandardItemModel::insertColumns(int column, int count, const QModelIndex &parent = QModelIndex())

Implementiert: ` QAbstractItemModel::insertColumns` (int column, int count, const QModelIndex &parent).

void QStandardItemModel::insertRow(int row, const QList<QStandardItem *> &items)

Fügt eine Zeile unter row ein, die items enthält. Falls erforderlich, wird die Spaltenanzahl auf die Größe von items erhöht.

Siehe auch takeRow(), appendRow() und insertColumn().

bool QStandardItemModel::insertRow(int row, const QModelIndex &parent = QModelIndex())

Fügt eine einzelne Zeile vor dem angegebenen „ row “ in die untergeordneten Elemente des angegebenen „ parent “ ein. Gibt „ true “ zurück, wenn die Zeile eingefügt wurde; andernfalls wird „ false “ zurückgegeben.

Siehe auch insertRows(), insertColumn() und removeRow().

void QStandardItemModel::insertRow(int row, QStandardItem *item)

Fügt an der Position „ row “ eine Zeile mit dem Wert „ item “ ein.

Beim Erstellen einer Liste oder eines Baums mit nur einer Spalte bietet diese Funktion eine bequeme Möglichkeit, ein einzelnes neues Element anzuhängen.

Dies ist eine überladene Funktion.

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

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

QStandardItem *QStandardItemModel::invisibleRootItem() const

Gibt das unsichtbare Stammelement des Modells zurück.

Das unsichtbare Stammelement ermöglicht über die „ QStandardItem “-API den Zugriff auf die Elemente der obersten Ebene des Modells, wodurch Funktionen geschrieben werden können, die Elemente der obersten Ebene und deren untergeordnete Elemente einheitlich behandeln; beispielsweise rekursive Funktionen, die ein Baummodell betreffen.

Hinweis: Der Aufruf von ` index()` auf dem über diese Funktion abgerufenen ` QStandardItem `-Objekt ist ungültig.

QStandardItem *QStandardItemModel::item(int row, int column = 0) const

Gibt das Element für die angegebenen Werte „ row “ und „ column “ zurück, sofern diese gesetzt wurden; andernfalls wird „ nullptr “ zurückgegeben.

Siehe auch setItem(), takeItem() und itemFromIndex().

[signal] void QStandardItemModel::itemChanged(QStandardItem *item)

Dieses Signal wird immer dann ausgegeben, wenn sich die Daten von „ item “ geändert haben.

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

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

Siehe auch setItemData().

QStandardItem *QStandardItemModel::itemFromIndex(const QModelIndex &index) const

Gibt einen Zeiger auf das „ QStandardItem “ zurück, das dem angegebenen „ index “ zugeordnet ist.

Der Aufruf dieser Funktion ist in der Regel der erste Schritt bei der Verarbeitung von auf „ QModelIndex “ basierenden Signalen aus einer Ansicht, wie beispielsweise „ QAbstractItemView::activated()“. In Ihrem Slot rufen Sie „itemFromIndex()“ mit dem vom Signal übertragenen „ QModelIndex “ als Argument auf, um einen Zeiger auf das entsprechende „ QStandardItem “ zu erhalten.

Beachten Sie, dass diese Funktion bei Bedarf ein Element für den Index erstellt (mithilfe von ` itemPrototype()`) und es in der Child-Tabelle des übergeordneten Elements einträgt, sofern an diesem Index noch kein Element vorhanden ist.

Ist ` index ` ein ungültiger Index, gibt diese Funktion ` nullptr` zurück.

Siehe auch ` indexFromItem()`.

const QStandardItem *QStandardItemModel::itemPrototype() const

Gibt den vom Modell verwendeten Elementprototyp zurück. Das Modell nutzt den Elementprototyp als Elementfabrik, wenn es bei Bedarf neue Elemente erstellen muss (beispielsweise wenn eine Ansicht oder ein Elementdelegat die Methode ` setData()` aufruft).

Siehe auch ` setItemPrototype()`.

[override virtual] QMimeData *QStandardItemModel::mimeData(const QModelIndexList &indexes) const

Implementiert neu: ` QAbstractItemModel::mimeData(const QModelIndexList &indexes) const`.

[override virtual] QStringList QStandardItemModel::mimeTypes() const

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

[override virtual] void QStandardItemModel::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const

Implementiert neu: ` QAbstractItemModel::multiData` (const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const.

[override virtual] QModelIndex QStandardItemModel::parent(const QModelIndex &child) const

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

[override virtual] bool QStandardItemModel::removeColumns(int column, int count, const QModelIndex &parent = QModelIndex())

Implementiert: ` QAbstractItemModel::removeColumns` (int column, int count, const QModelIndex &parent).

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

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

[override virtual] QHash<int, QByteArray> QStandardItemModel::roleNames() const

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

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

Implementiert neu: ` QAbstractItemModel::rowCount(const QModelIndex &parent) const`.

Siehe auch setRowCount().

void QStandardItemModel::setColumnCount(int columns)

Legt die Anzahl der Spalten in diesem Modell auf „ columns “ fest. Ist dieser Wert kleiner als „ columnCount()“, werden die Daten in den nicht benötigten Spalten verworfen.

Siehe auch columnCount() und setRowCount().

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

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

Siehe auch data().

[override virtual] bool QStandardItemModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)

Implementiert: ` QAbstractItemModel::setHeaderData` (int section, Qt::Orientation orientation, const QVariant &value, int role).

Siehe auch headerData().

void QStandardItemModel::setHorizontalHeaderItem(int column, QStandardItem *item)

Legt das horizontale Kopfzeilenelement für „ column “ auf „ item “ fest. Das Modell übernimmt die Verantwortung für das Element. Falls erforderlich, wird die Anzahl der Spalten erhöht, um das Element unterzubringen. Das vorherige Kopfzeilenelement (sofern vorhanden) wird gelöscht.

Siehe auch „ horizontalHeaderItem()“, „ setHorizontalHeaderLabels()“ und „ setVerticalHeaderItem()“.

void QStandardItemModel::setHorizontalHeaderLabels(const QStringList &labels)

Legt die horizontalen Kopfzeilenbeschriftungen mithilfe von ` labels` fest. Falls erforderlich, wird die Spaltenanzahl auf die Größe von ` labels` erhöht.

Siehe auch ` setHorizontalHeaderItem()`.

void QStandardItemModel::setItem(int row, int column, QStandardItem *item)

Setzt das Element für die angegebenen Koordinaten row und column auf item. Das Modell übernimmt die Verantwortung für das Element. Falls erforderlich, werden die Anzahl der Zeilen und Spalten erhöht, um Platz für das Element zu schaffen. Das vorherige Element an der angegebenen Position (sofern vorhanden) wird gelöscht.

Siehe auch item().

void QStandardItemModel::setItem(int row, QStandardItem *item)

Dies ist eine überladene Funktion.

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

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

Siehe auch itemData().

void QStandardItemModel::setItemPrototype(const QStandardItem *item)

Legt den Elementprototyp für das Modell auf den angegebenen item fest. Das Modell übernimmt die Eigentümerschaft an dem Prototyp.

Der Elementprototyp fungiert als „ QStandardItem “-Fabrik, indem er auf die Funktion „ QStandardItem::clone()“ zurückgreift. Um einen eigenen Prototyp bereitzustellen, erstellen Sie eine Unterklasse von „ QStandardItem “, implementieren Sie „ QStandardItem::clone()“ neu und legen Sie den Prototyp als Instanz Ihrer benutzerdefinierten Klasse fest. Immer wenn „ QStandardItemModel “ bei Bedarf ein Element erstellen muss (beispielsweise wenn ein View oder ein Element-Delegat „ setData()“ aufruft), sind die neuen Elemente Instanzen Ihrer benutzerdefinierten Klasse.

Siehe auch „ itemPrototype()“ und „ QStandardItem::clone()“.

void QStandardItemModel::setItemRoleNames(const QHash<int, QByteArray> &roleNames)

Legt die Namen der Elementrollen auf „ roleNames “ fest.

void QStandardItemModel::setRowCount(int rows)

Legt die Anzahl der Zeilen in diesem Modell auf „ rows “ fest. Ist dieser Wert kleiner als „ rowCount()“, werden die Daten in den nicht benötigten Zeilen verworfen.

Siehe auch rowCount() und setColumnCount().

void QStandardItemModel::setVerticalHeaderItem(int row, QStandardItem *item)

Setzt das vertikale Kopfzeilenelement für „ row “ auf „ item “. Das Modell übernimmt die Verantwortung für das Element. Falls erforderlich, wird die Zeilenzahl erhöht, um das Element unterzubringen. Das vorherige Kopfzeilenelement (sofern vorhanden) wird gelöscht.

Siehe auch „ verticalHeaderItem()“, „ setVerticalHeaderLabels()“ und „ setHorizontalHeaderItem()“.

void QStandardItemModel::setVerticalHeaderLabels(const QStringList &labels)

Legt die vertikalen Kopfzeilenbeschriftungen mithilfe von ` labels` fest. Falls erforderlich, wird die Zeilenanzahl auf die Größe von ` labels` erhöht.

Siehe auch ` setVerticalHeaderItem()`.

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

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

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

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

QStandardItemModel Unterstützt sowohl Kopieren als auch Verschieben.

QList<QStandardItem *> QStandardItemModel::takeColumn(int column)

Entfernt die angegebene „ column “, ohne die Spaltenelemente zu löschen, und gibt eine Liste mit Zeigern auf die entfernten Elemente zurück. Das Modell gibt die Eigentumsrechte an den Elementen frei. Für Elemente in der Spalte, die nicht festgelegt wurden, lauten die entsprechenden Zeiger in der Liste „ nullptr “.

Siehe auch ` takeRow()`.

QStandardItem *QStandardItemModel::takeHorizontalHeaderItem(int column)

Entfernt das horizontale Kopfzeilenelement unter column aus der Kopfzeile, ohne es zu löschen, und gibt einen Zeiger auf das Element zurück. Das Modell gibt die Eigentumsrechte an dem Element frei.

Siehe auch horizontalHeaderItem() und takeVerticalHeaderItem().

QStandardItem *QStandardItemModel::takeItem(int row, int column = 0)

Entfernt das Element unter (row, column), ohne es zu löschen. Das Modell gibt die Eigentumsrechte an dem Element ab.

Siehe auch item(), takeRow() und takeColumn().

QList<QStandardItem *> QStandardItemModel::takeRow(int row)

Entfernt die angegebene „ row “, ohne die Elemente der Zeile zu löschen, und gibt eine Liste mit Zeigern auf die entfernten Elemente zurück. Das Modell gibt die Eigentumsrechte an den Elementen frei. Für Elemente in der Zeile, die nicht festgelegt wurden, lauten die entsprechenden Zeiger in der Liste „ nullptr “.

Siehe auch ` takeColumn()`.

QStandardItem *QStandardItemModel::takeVerticalHeaderItem(int row)

Entfernt das vertikale Kopfzeilenelement unter row aus der Kopfzeile, ohne es zu löschen, und gibt einen Zeiger auf das Element zurück. Das Modell gibt die Eigentumsrechte an dem Element frei.

Siehe auch „ verticalHeaderItem()“ und „ takeHorizontalHeaderItem()“.

QStandardItem *QStandardItemModel::verticalHeaderItem(int row) const

Gibt das vertikale Kopfzeilenelement für die Zeile row zurück, sofern eines festgelegt wurde; andernfalls wird nullptr zurückgegeben.

Siehe auch setVerticalHeaderItem() und horizontalHeaderItem().

© 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.