QModelIndex Class
QModelIndex 클래스는 데이터 모델에서 데이터를 찾는 데 사용됩니다. 더 보기...
Header: | #include <QModelIndex> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
이 클래스는 매우 유사합니다.
공용 함수
QModelIndex() | |
int | column() const |
const void * | constInternalPointer() const |
QVariant | data(int role = Qt::DisplayRole) const |
Qt::ItemFlags | flags() const |
quintptr | internalId() const |
void * | internalPointer() const |
bool | isValid() const |
const QAbstractItemModel * | model() const |
(since 6.0) void | multiData(QModelRoleDataSpan roleDataSpan) const |
QModelIndex | parent() const |
int | row() const |
QModelIndex | sibling(int row, int column) const |
QModelIndex | siblingAtColumn(int column) const |
QModelIndex | siblingAtRow(int row) const |
관련 비회원
QModelIndexList | |
bool | operator!=(const QModelIndex &lhs, const QModelIndex &rhs) |
bool | operator<(const QModelIndex &lhs, const QModelIndex &rhs) |
bool | operator==(const QModelIndex &lhs, const QModelIndex &rhs) |
상세 설명
이 클래스는 QAbstractItemModel 에서 파생된 항목 모델의 인덱스로 사용됩니다. 이 인덱스는 항목 보기, 델리게이트 및 선택 모델에서 모델에서 항목을 찾는 데 사용됩니다.
모델에서 QAbstractItemModel::createIndex() 함수를 사용하여 새 QModelIndex 개체를 만듭니다. 잘못된 모델 인덱스는 QModelIndex 생성자를 사용하여 만들 수 있습니다. 유효하지 않은 인덱스는 모델의 최상위 항목을 참조할 때 상위 인덱스로 사용되는 경우가 많습니다.
모델 인덱스는 모델의 항목을 참조하며 해당 모델에서 해당 위치를 지정하는 데 필요한 모든 정보를 포함합니다. 각 인덱스는 지정된 행과 열에 위치하며 상위 인덱스가 있을 수 있습니다( row(), column() 및 parent()를 사용하여 이 정보를 얻을 수 있습니다. 모델의 각 최상위 항목은 상위 인덱스가 없는 모델 인덱스로 표시되며, 이 경우 parent()는 잘못된 모델 인덱스를 반환하며, 이는 QModelIndex() 생성자의 0 인수 형식으로 구성된 인덱스와 동일합니다.
모델의 기존 항목을 참조하는 모델 인덱스를 얻으려면 필요한 행 및 열 값과 상위의 모델 인덱스를 사용하여 QAbstractItemModel::index()를 호출합니다. 모델의 최상위 항목을 참조할 때는 QModelIndex()를 부모 인덱스로 제공하세요.
model() 함수는 인덱스가 참조하는 모델을 QAbstractItemModel 로 반환합니다. child() 함수는 모델에서 인덱스 아래에 있는 항목을 검사하는 데 사용됩니다. sibling () 함수를 사용하면 인덱스와 같은 수준에서 모델의 항목을 탐색할 수 있습니다.
참고: 모델 인덱스는 즉시 사용한 다음 폐기해야 합니다. 모델의 구조를 변경하거나 항목을 삭제하는 모델 함수를 호출한 후에는 인덱스가 유효하게 유지되도록 해서는 안 됩니다. 시간이 지나도 모델 인덱스를 유지해야 하는 경우 QPersistentModelIndex 을 사용하세요.
모델/보기 프로그래밍, QPersistentModelIndex 및 QAbstractItemModel 을참조하세요 .
멤버 함수 문서
[constexpr noexcept]
QModelIndex::QModelIndex()
빈 모델 인덱스를 새로 만듭니다. 이 유형의 모델 인덱스는 모델 내 위치가 유효하지 않음을 나타내는 데 사용됩니다.
isValid() 및 QAbstractItemModel 을참조하세요 .
[constexpr noexcept]
int QModelIndex::column() const
이 모델 인덱스가 참조하는 열을 반환합니다.
[noexcept]
const void *QModelIndex::constInternalPointer() const
모델에서 인덱스를 내부 데이터 구조와 연결하는 데 사용하는 const void
*
포인터를 반환합니다.
QAbstractItemModel::createIndex()도 참조하세요 .
QVariant QModelIndex::data(int role = Qt::DisplayRole) const
인덱스가 참조하는 항목에 대해 지정된 role 또는 이 모델 인덱스가 invalid 인 경우 기본으로 구성된 QVariant 의 데이터를 반환합니다.
Qt::ItemFlags QModelIndex::flags() const
인덱스가 참조하는 항목의 플래그를 반환합니다.
[constexpr noexcept]
quintptr QModelIndex::internalId() const
모델에서 인덱스를 내부 데이터 구조와 연결하기 위해 사용하는 quintptr
을 반환합니다.
QAbstractItemModel::createIndex()도 참조하세요 .
[noexcept]
void *QModelIndex::internalPointer() const
모델에서 인덱스를 내부 데이터 구조와 연결하는 데 사용하는 void
*
포인터를 반환합니다.
QAbstractItemModel::createIndex()도 참조하세요 .
[constexpr noexcept]
bool QModelIndex::isValid() const
이 모델 인덱스가 유효하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
유효한 인덱스는 모델에 속하며 음수가 아닌 행과 열 번호를 갖습니다.
model(), row() 및 column()도 참조하세요 .
[constexpr noexcept]
const QAbstractItemModel *QModelIndex::model() const
이 인덱스가 참조하는 항목이 포함된 모델에 대한 포인터를 반환합니다.
모델의 생성자가 아닌 함수를 호출하면 모델 인덱스가 무효화되어 애플리케이션이 충돌할 수 있으므로 모델에 대한 생성자 포인터가 반환됩니다.
[since 6.0]
void QModelIndex::multiData(QModelRoleDataSpan roleDataSpan) const
인덱스가 참조하는 항목에 대해 주어진 roleDataSpan 을 채웁니다.
이 함수는 Qt 6.0에 도입되었습니다.
QModelIndex QModelIndex::parent() const
모델 인덱스의 부모를 반환하거나, 부모가 없는 경우 QModelIndex()를 반환합니다.
[constexpr noexcept]
int QModelIndex::row() const
이 모델 인덱스가 참조하는 행을 반환합니다.
QModelIndex QModelIndex::sibling(int row, int column) const
row 및 column 에서 형제를 반환합니다. 이 위치에 형제가 없으면 유효하지 않은 QModelIndex 이 반환됩니다.
parent(), siblingAtColumn() 및 siblingAtRow()도 참조하세요 .
QModelIndex QModelIndex::siblingAtColumn(int column) const
현재 행의 column 위치에 있는 형제를 반환합니다. 이 위치에 형제자매가 없으면 잘못된 QModelIndex 가 반환됩니다.
sibling() 및 siblingAtRow()도 참조하세요 .
QModelIndex QModelIndex::siblingAtRow(int row) const
현재 열의 형제 열( row )을 반환합니다. 이 위치에 형제자매가 없으면 잘못된 QModelIndex 가 반환됩니다.
sibling() 및 siblingAtColumn()도 참조하세요 .
관련 비회원
QModelIndexList
QList<QModelIndex>의 동의어입니다.
[constexpr noexcept]
bool operator!=(const QModelIndex &lhs, const QModelIndex &rhs)
lhs 모델 인덱스가 rhs 모델 인덱스와 같은 위치를 참조하지 않으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[constexpr noexcept]
bool operator<(const QModelIndex &lhs, const QModelIndex &rhs)
lhs 모델 인덱스가 rhs 모델 인덱스보다 작으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
보다 작음 계산은 개발자에게 직접적으로 유용하지 않습니다. 부모가 다른 인덱스가 비교되는 방식이 정의되어 있지 않기 때문입니다. 이 연산자는 클래스를 QMap 과 함께 사용할 수 있도록 하기 위해서만 존재합니다.
[constexpr noexcept]
bool operator==(const QModelIndex &lhs, const QModelIndex &rhs)
lhs 모델 인덱스가 rhs 모델 인덱스와 같은 위치를 참조하는 경우 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
내부 데이터 포인터, 행, 열 및 모델 값은 다른 모델 인덱스와 비교할 때 사용됩니다.
© 2025 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.