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
- sortRole : int
Ö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.