QStandardItemModel Class
QStandardItemModel 클래스는 사용자 정의 데이터를 저장하기 위한 범용 모델을 제공합니다. 더 보기...
| 헤더: | #include <QStandardItemModel> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 상속: | QAbstractItemModel |
속성
- sortRole : int
공개 함수
| 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 |
재구현된 공용 함수
| 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 |
신호
| void | itemChanged(QStandardItem *item) |
상세 설명
QStandardItemModel은 표준 Qt 데이터 유형을 저장하는 저장소로 사용할 수 있습니다. 이는 모델/뷰 클래스 중 하나이며, Qt의 모델/뷰 프레임워크의 일부입니다.
QStandardItemModel은 모델 작업을 위한 전통적인 항목 기반 접근 방식을 제공합니다. QStandardItemModel 내의 항목들은 QStandardItem 에 의해 제공됩니다.
QStandardItemModel은 QAbstractItemModel 인터페이스를 구현하므로, 이 모델은 해당 인터페이스를 지원하는 모든 뷰(예: QListView, QTableView, QTreeView 및 사용자 정의 뷰)에서 데이터를 제공하는 데 사용할 수 있습니다. 성능과 유연성을 위해, 다양한 종류의 데이터 저장소를 지원하기 위해 QAbstractItemModel 을 상속한 하위 클래스를 만들 수 있습니다. 예를 들어, QFileSystemModel 은 기본 파일 시스템에 대한 모델 인터페이스를 제공합니다.
목록이나 트리를 만들려면 일반적으로 빈 QStandardItemModel을 생성하고, ` appendRow()`을 사용하여 모델에 항목을 추가하며, ` item()`을 사용하여 항목에 접근합니다. 모델이 테이블을 나타내는 경우, 일반적으로 테이블의 차원을 QStandardItemModel 생성자에 전달하고 ` setItem()`을 사용하여 테이블 내 항목의 위치를 지정합니다. 또한 setRowCount() 및 setColumnCount()을 사용하여 모델의 크기를 변경할 수 있습니다. 항목을 삽입하려면 insertRow() 또는 insertColumn()을 사용하고, 항목을 제거하려면 removeRow() 또는 removeColumn()을 사용합니다.
setHorizontalHeaderLabels() 및 setVerticalHeaderLabels()를 사용하여 모델의 헤더 레이블을 설정할 수 있습니다.
findItems()을 사용하여 모델에서 항목을 검색할 수 있으며, sort()을 호출하여 모델을 정렬할 수 있습니다.
clear()을 호출하여 모델에서 모든 항목을 제거할 수 있습니다.
QStandardItemModel을 사용하여 테이블을 만드는 사용 예:
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);
}
}QStandardItemModel을 사용하여 트리를 생성하는 예시:
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;
}뷰에 모델을 설정한 후에는 일반적으로 항목 클릭과 같은 사용자 동작에 반응해야 합니다. ` QAbstractItemView `는 ` QModelIndex` 기반의 신호와 함수를 제공하므로, 주어진 ` QModelIndex`에 해당하는 ` QStandardItem `를 얻거나 그 반대의 경우를 처리할 방법이 필요합니다. ` itemFromIndex()` 및 ` indexFromItem()`는 이러한 매핑 기능을 제공합니다. itemFromIndex()의 일반적인 사용 예로는 뷰의 현재 인덱스에 있는 항목을 가져오거나, QAbstractItemView::clicked()과 같이 QAbstractItemView 신호가 전달하는 인덱스에 해당하는 항목을 가져오는 것이 있습니다. 먼저 뷰의 신호를 클래스의 슬롯에 연결합니다:
QTreeView *treeView = new QTreeView(this);
treeView->setModel(myStandardItemModel);
connect(treeView, &QTreeView::clicked,
this, &MyWidget::clicked);신호를 수신하면, 주어진 모델 인덱스에 대해 ` itemFromIndex()`를 호출하여 항목에 대한 포인터를 얻습니다:
void MyWidget::clicked(const QModelIndex &index)
{
QStandardItem *item = myStandardItemModel->itemFromIndex(index);
// Do stuff with the item ...
}반대로, 인덱스를 인수로 받는 모델/뷰 함수를 호출하려면 해당 항목의 QModelIndex 를 구해야 합니다. 인덱스는 모델의 indexFromItem() 함수를 사용하거나, 이와 동등하게 QStandardItem::index()를 호출하여 얻을 수 있습니다:
treeView->scrollTo(item->index());물론 항목 기반 접근 방식을 반드시 사용해야 하는 것은 아닙니다. 대신 모델을 다룰 때 전적으로 QAbstractItemModel 인터페이스에만 의존하거나, 상황에 따라 두 방식을 조합하여 사용할 수도 있습니다.
QStandardItem, Model/View 프로그래밍, QAbstractItemModel, QRangeModel, 간단한 트리 모델 예제, 항목 뷰 편의 클래스도 참조하십시오 .
속성 문서
[bindable] sortRole : int
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 속성은 항목을 정렬할 때 모델의 데이터를 조회하는 데 사용되는 항목 역할을 저장합니다.
기본값은 Qt::DisplayRole 입니다.
액세스 함수:
| int | sortRole() const |
| void | setSortRole(int role) |
sort() 및 QStandardItem::sortChildren()도 참조하십시오 .
멤버 함수 설명서
[explicit] QStandardItemModel::QStandardItemModel(QObject *parent = nullptr)
지정된 ` parent`를 사용하여 새로운 아이템 모델을 생성합니다.
QStandardItemModel::QStandardItemModel(int rows, int columns, QObject *parent = nullptr)
초기 행 수 rows 와 열 수 columns 를 가지며, 지정된 parent 를 갖는 새로운 항목 모델을 생성합니다.
[virtual noexcept] QStandardItemModel::~QStandardItemModel()
모델을 파괴합니다. 모델은 자신이 보유한 모든 아이템을 파괴합니다.
void QStandardItemModel::appendColumn(const QList<QStandardItem *> &items)
items 를 포함하는 열을 추가합니다. 필요한 경우, 행 수가 items 의 크기까지 증가합니다.
insertColumn() 및 appendRow()도 참조하십시오 .
void QStandardItemModel::appendRow(const QList<QStandardItem *> &items)
items 를 포함하는 행을 추가합니다. 필요한 경우, 열 개수는 items 의 크기로 늘어납니다.
insertRow() 및 appendColumn()도 참조하십시오 .
void QStandardItemModel::appendRow(QStandardItem *item)
열이 하나뿐인 리스트나 트리를 생성할 때, 이 함수는 새로운 item 객체를 하나 추가하는 편리한 방법을 제공합니다.
이 함수는 오버로드된 함수입니다.
void QStandardItemModel::clear()
모델에서 모든 항목(헤더 항목 포함)을 제거하고 행과 열의 개수를 0으로 설정합니다.
removeColumns() 및 removeRows()도 참조하십시오 .
[override virtual] bool QStandardItemModel::clearItemData(const QModelIndex &index)
QAbstractItemModel::clearItemData(const QModelIndex &index)를 재구현합니다.
[override virtual] int QStandardItemModel::columnCount(const QModelIndex &parent = QModelIndex()) const
QAbstractItemModel::columnCount(const QModelIndex &parent) const를 재구현합니다.
setColumnCount()도 참조하십시오 .
[override virtual] QVariant QStandardItemModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const
QAbstractItemModel::data(const QModelIndex &index, int role) const를 재구현합니다.
setData()도 참조하십시오 .
[override virtual] bool QStandardItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
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
주어진 ` text`에 일치하고, 주어진 ` flags`를 사용하여, 주어진 ` column` 내에서 해당 조건에 부합하는 항목들의 목록을 반환합니다.
[override virtual] Qt::ItemFlags QStandardItemModel::flags(const QModelIndex &index) const
QAbstractItemModel::flags(const QModelIndex &index) const를 재구현합니다.
[override virtual] bool QStandardItemModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
QAbstractItemModel::hasChildren(const QModelIndex &parent) const를 재구현합니다.
[override virtual] QVariant QStandardItemModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const를 재구현합니다.
setHeaderData()도 참조하십시오 .
QStandardItem *QStandardItemModel::horizontalHeaderItem(int column) const
column 에 대한 수평 헤더 항목이 설정되어 있으면 이를 반환하고, 그렇지 않으면 nullptr 를 반환합니다.
setHorizontalHeaderItem() 및 verticalHeaderItem()도 참조하십시오 .
[override virtual] QModelIndex QStandardItemModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const
QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const를 재구현합니다.
QModelIndex QStandardItemModel::indexFromItem(const QStandardItem *item) const
지정된 item 와 연관된 QModelIndex 를 반환합니다.
QAbstractItemView::scrollTo()과 같이 항목의 QModelIndex 가 필요한 작업을 수행할 때 이 함수를 사용합니다. 편의상 QStandardItem::index()이 제공되며, 이는 이 함수를 호출하는 것과 동일합니다.
itemFromIndex() 및 QStandardItem::index()도 참조하십시오 .
void QStandardItemModel::insertColumn(int column, const QList<QStandardItem *> &items)
column 위치에 items 값을 포함하는 열을 삽입합니다. 필요한 경우, 행 수는 items 크기로 증가됩니다.
takeColumn(), appendColumn() 및 insertRow()도 참조하십시오 .
bool QStandardItemModel::insertColumn(int column, const QModelIndex &parent = QModelIndex())
지정된 column 앞의 parent 자식 항목에 단일 열을 삽입합니다. 열이 삽입되면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
insertColumns(), insertRow() 및 removeColumn()도 참조하십시오 .
[override virtual] bool QStandardItemModel::insertColumns(int column, int count, const QModelIndex &parent = QModelIndex())
QAbstractItemModel::insertColumns(int column, int count, const QModelIndex &parent)를 재구현합니다.
void QStandardItemModel::insertRow(int row, const QList<QStandardItem *> &items)
row 에 items 값을 포함하는 행을 삽입합니다. 필요한 경우, 열 개수는 items 의 크기에 맞춰 증가됩니다.
takeRow(), appendRow() 및 insertColumn()도 참조하십시오 .
bool QStandardItemModel::insertRow(int row, const QModelIndex &parent = QModelIndex())
지정된 row 앞의, 지정된 parent 의 하위 항목에 단일 행을 삽입합니다. 행이 삽입되면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
insertRows(), insertColumn(), removeRow()도 참조하십시오 .
void QStandardItemModel::insertRow(int row, QStandardItem *item)
row 에 item 를 포함하는 행을 삽입합니다.
열이 하나뿐인 리스트나 트리를 구축할 때, 이 함수는 새로운 항목 하나를 추가하는 편리한 방법을 제공합니다.
이 함수는 오버로드된 함수입니다.
[override virtual] bool QStandardItemModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())
QAbstractItemModel::insertRows(int row, int count, const QModelIndex &parent)를 재구현합니다.
QStandardItem *QStandardItemModel::invisibleRootItem() const
모델의 보이지 않는 루트 항목을 반환합니다.
이 보이지 않는 루트 항목을 통해 QStandardItem API를 이용하여 모델의 최상위 항목에 접근할 수 있으므로, 최상위 항목과 그 자식 항목을 일관된 방식으로 처리하는 함수(예: 트리 모델과 관련된 재귀 함수)를 작성할 수 있습니다.
참고: 이 함수에서 반환된 ` QStandardItem ` 객체에 대해 ` index()`를호출하는 것은 유효하지 않습니다.
QStandardItem *QStandardItemModel::item(int row, int column = 0) const
지정된 row 및 column 에 해당하는 항목을 반환합니다(설정된 경우). 그렇지 않은 경우 nullptr 를 반환합니다.
setItem(), takeItem(), itemFromIndex()도 참조하십시오 .
[signal] void QStandardItemModel::itemChanged(QStandardItem *item)
item 의 데이터가 변경될 때마다 이 신호가 발생합니다.
[override virtual] QMap<int, QVariant> QStandardItemModel::itemData(const QModelIndex &index) const
QAbstractItemModel::itemData(const QModelIndex &index) const를 재구현합니다.
setItemData()도 참조하십시오 .
QStandardItem *QStandardItemModel::itemFromIndex(const QModelIndex &index) const
주어진 ` index`와 연관된 ` QStandardItem `에 대한 포인터를 반환합니다.
이 함수를 호출하는 것은 일반적으로 QAbstractItemView::activated()과 같은 뷰에서 QModelIndex 기반 신호를 처리할 때의 첫 번째 단계입니다. 슬롯 내에서, 신호를 통해 전달된 QModelIndex 를 인수로 사용하여 itemFromIndex()를 호출함으로써, 해당 QStandardItem 에 대한 포인터를 얻습니다.
이 함수는 해당 인덱스에 아직 항목이 존재하지 않을 경우, itemPrototype()을 사용하여 해당 인덱스에 대한 항목을 지연 생성하고, 이를 부모 항목의 자식 테이블에 설정한다는 점에 유의하십시오.
index 가 유효하지 않은 인덱스인 경우, 이 함수는 nullptr 를 반환합니다.
indexFromItem()도 참조하십시오 .
const QStandardItem *QStandardItemModel::itemPrototype() const
모델에서 사용하는 항목 프로토타입을 반환합니다. 모델은 필요에 따라 새 항목을 생성해야 할 때(예를 들어, 뷰나 항목 델리게이트가 ` setData()`를 호출할 때) 이 항목 프로토타입을 항목 생성자로 사용합니다.
setItemPrototype()도 참조하십시오 .
[override virtual] QMimeData *QStandardItemModel::mimeData(const QModelIndexList &indexes) const
QAbstractItemModel::mimeData(const QModelIndexList &indexes) const를 재구현합니다.
[override virtual] QStringList QStandardItemModel::mimeTypes() const
QAbstractItemModel::mimeTypes() const를 재구현합니다.
[override virtual] void QStandardItemModel::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const
QAbstractItemModel::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const를 재구현합니다.
[override virtual] QModelIndex QStandardItemModel::parent(const QModelIndex &child) const
QAbstractItemModel::parent(const QModelIndex &index) const를 재구현합니다.
[override virtual] bool QStandardItemModel::removeColumns(int column, int count, const QModelIndex &parent = QModelIndex())
QAbstractItemModel::removeColumns(int column, int count, const QModelIndex &parent)를 재구현합니다.
[override virtual] bool QStandardItemModel::removeRows(int row, int count, const QModelIndex &parent = QModelIndex())
QAbstractItemModel::removeRows(int row, int count, const QModelIndex &parent)를 재구현합니다.
[override virtual] QHash<int, QByteArray> QStandardItemModel::roleNames() const
QAbstractItemModel::roleNames() const를 재구현합니다.
[override virtual] int QStandardItemModel::rowCount(const QModelIndex &parent = QModelIndex()) const
QAbstractItemModel::rowCount(const QModelIndex &parent) const를 재구현합니다.
setRowCount()도 참조하십시오 .
void QStandardItemModel::setColumnCount(int columns)
이 모델의 열 수를 ` columns`로 설정합니다. 이 값이 ` columnCount()`보다 작으면, 원하지 않는 열의 데이터는 제거됩니다.
columnCount() 및 setRowCount()도 참조하십시오 .
[override virtual] bool QStandardItemModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role)를 재구현합니다.
data()도 참조하십시오 .
[override virtual] bool QStandardItemModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
QAbstractItemModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role)를 재구현합니다.
headerData()도 참조하십시오 .
void QStandardItemModel::setHorizontalHeaderItem(int column, QStandardItem *item)
column 의 가로 방향 헤더 항목을 item 으로 설정합니다. 모델이 해당 항목의 소유권을 가져갑니다. 필요한 경우, 항목에 맞게 열 수가 증가합니다. 이전 헤더 항목(있었던 경우)은 삭제됩니다.
horizontalHeaderItem(), setHorizontalHeaderLabels(), setVerticalHeaderItem()도 참조하십시오 .
void QStandardItemModel::setHorizontalHeaderLabels(const QStringList &labels)
labels 를 사용하여 가로 방향 헤더 레이블을 설정합니다. 필요한 경우, 열 개수가 labels 의 크기까지 늘어납니다.
setHorizontalHeaderItem()도 참조하십시오 .
void QStandardItemModel::setItem(int row, int column, QStandardItem *item)
지정된 row 및 column 에 해당하는 항목을 item 로 설정합니다. 모델이 해당 항목에 대한 소유권을 갖게 됩니다. 필요한 경우, 항목을 수용할 수 있도록 행 수와 열 수가 증가합니다. 지정된 위치에 있던 이전 항목(있는 경우)은 삭제됩니다.
item()도 참조하십시오 .
void QStandardItemModel::setItem(int row, QStandardItem *item)
이것은 오버로드된 함수입니다.
[override virtual] bool QStandardItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)를 재구현합니다.
itemData()도 참조하십시오 .
void QStandardItemModel::setItemPrototype(const QStandardItem *item)
모델의 아이템 프로토타입을 지정된 item 로 설정합니다. 모델이 해당 프로토타입의 소유권을 갖게 됩니다.
항목 프로토타입은 QStandardItem::clone() 함수를 활용하여 QStandardItem 팩토리 역할을 수행합니다. 사용자 정의 프로토타입을 제공하려면 QStandardItem 을 상속받은 서브클래스를 만들고, QStandardItem::clone()를 재구현한 후 프로토타입을 사용자 정의 클래스의 인스턴스로 설정하십시오. QStandardItemModel 가 필요에 따라 항목을 생성해야 할 때마다(예를 들어, 뷰나 항목 델리게이트가 setData()를 호출할 때), 새로 생성된 항목은 사용자 정의 클래스의 인스턴스가 됩니다.
itemPrototype() 및 QStandardItem::clone()도 참조하십시오 .
void QStandardItemModel::setItemRoleNames(const QHash<int, QByteArray> &roleNames)
항목 역할 이름을 ‘ roleNames ’로 설정합니다.
void QStandardItemModel::setRowCount(int rows)
이 모델의 행 수를 rows 로 설정합니다. 이 값이 rowCount()보다 작을 경우, 원하지 않는 행의 데이터는 제거됩니다.
rowCount() 및 setColumnCount()도 참조하십시오 .
void QStandardItemModel::setVerticalHeaderItem(int row, QStandardItem *item)
row 의 세로 방향 헤더 항목을 item 로 설정합니다. 모델이 해당 항목에 대한 소유권을 갖습니다. 필요한 경우, 항목을 수용할 수 있도록 행 수가 증가합니다. 이전 헤더 항목(있는 경우)은 삭제됩니다.
verticalHeaderItem(), setVerticalHeaderLabels() 및 setHorizontalHeaderItem()도 참조하십시오 .
void QStandardItemModel::setVerticalHeaderLabels(const QStringList &labels)
labels 를 사용하여 세로 방향 헤더 레이블을 설정합니다. 필요한 경우, 행 수가 labels 의 크기까지 증가됩니다.
setVerticalHeaderItem()도 참조하십시오 .
[override virtual] void QStandardItemModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
QAbstractItemModel::sort(int column, Qt::SortOrder order)를 재구현합니다.
[override virtual] Qt::DropActions QStandardItemModel::supportedDropActions() const
QAbstractItemModel::supportedDropActions() const를 재구현합니다.
QStandardItemModel 복사 및 이동을 모두 지원합니다.
QList<QStandardItem *> QStandardItemModel::takeColumn(int column)
지정된 column 를 열 항목을 삭제하지 않고 제거하며, 제거된 항목에 대한 포인터 목록을 반환합니다. 모델은 해당 항목에 대한 소유권을 해제합니다. 열에 있는 설정되지 않은 항목의 경우, 목록 내 해당 포인터는 ` nullptr`가 됩니다.
takeRow()도 참조하십시오 .
QStandardItem *QStandardItemModel::takeHorizontalHeaderItem(int column)
column 에 있는 가로 방향 헤더 항목을 삭제하지 않고 헤더에서 제거하며, 해당 항목에 대한 포인터를 반환합니다. 이 모델은 항목에 대한 소유권을 해제합니다.
horizontalHeaderItem() 및 takeVerticalHeaderItem()도 참조하십시오 .
QStandardItem *QStandardItemModel::takeItem(int row, int column = 0)
(row, column)에 있는 항목을 삭제하지 않고 제거합니다. 모델은 해당 항목에 대한 소유권을 해제합니다.
item(), takeRow(), takeColumn()도 참조하십시오 .
QList<QStandardItem *> QStandardItemModel::takeRow(int row)
지정된 row 를 행 항목을 삭제하지 않고 제거하며, 제거된 항목에 대한 포인터 목록을 반환합니다. 모델은 해당 항목에 대한 소유권을 해제합니다. 행 내에서 설정되지 않은 항목의 경우, 목록 내의 해당 포인터는 ` nullptr`가 됩니다.
takeColumn()도 참조하십시오 .
QStandardItem *QStandardItemModel::takeVerticalHeaderItem(int row)
row 에 있는 수직 헤더 항목을 삭제하지 않고 헤더에서 제거하며, 해당 항목에 대한 포인터를 반환합니다. 모델은 해당 항목에 대한 소유권을 해제합니다.
verticalHeaderItem() 및 takeHorizontalHeaderItem()도 참조하십시오 .
QStandardItem *QStandardItemModel::verticalHeaderItem(int row) const
row 행에 대한 세로 헤더 항목이 설정되어 있으면 이를 반환하고, 그렇지 않으면 nullptr 를 반환합니다.
setVerticalHeaderItem() 및 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.