QStringListModel Class
QStringListModel 클래스는 뷰에 문자열을 제공하는 모델을 제공합니다. 더 보기...
| 헤더: | #include <QStringListModel> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 상속받음: | QAbstractListModel |
| 상속받는 클래스: |
공개 함수
| QStringListModel(QObject *parent = nullptr) | |
| QStringListModel(const QStringList &strings, QObject *parent = nullptr) | |
| void | setStringList(const QStringList &strings) |
| QStringList | stringList() const |
재구현된 공용 함수
(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 |
상세 설명
QStringListModel은 QListView 이나 QComboBox 과 같이 뷰 위젯에 여러 개의 문자열을 표시해야 하는 간단한 경우에 사용할 수 있는 편집 가능한 모델입니다.
이 모델은 편집 가능한 모델의 모든 표준 기능을 제공하며, 문자열 목록의 데이터를 한 열과 목록의 항목 수와 동일한 행 수를 가진 모델로 표현합니다.
항목에 해당하는 모델 인덱스는 index() 함수를 통해 얻을 수 있으며, 항목 플래그는 flags()을 통해 얻을 수 있습니다. 항목 데이터는 data() 함수로 읽을 수 있고, setData() 함수로 쓸 수 있습니다. 행 수(및 문자열 목록의 항목 수)는 rowCount() 함수를 통해 확인할 수 있습니다.
이 모델은 기존 문자열 목록을 사용하여 생성할 수도 있고, setStringList() 편의 함수를 사용하여 나중에 문자열을 설정할 수도 있습니다. 또한 insertRows() 함수를 사용하여 일반적인 방식으로 문자열을 삽입하고, removeRows()을 사용하여 제거할 수 있습니다. 문자열 목록의 내용은 stringList() 편의 함수를 사용하여 가져올 수 있습니다.
QStringListModel의 사용 예시:
QStringListModel *model = new QStringListModel();
QStringList list;
list << "a" << "b" << "c";
model->setStringList(list);QAbstractListModel, QAbstractItemModel, QRangeModel 및 모델 클래스항목도 참조하십시오 .
멤버 함수 문서
[explicit] QStringListModel::QStringListModel(QObject *parent = nullptr)
주어진 ` parent`을 사용하여 문자열 목록 모델을 생성합니다.
[explicit] QStringListModel::QStringListModel(const QStringList &strings, QObject *parent = nullptr)
지정된 ` strings `와 주어진 ` parent`를 포함하는 문자열 목록 모델을 생성합니다.
[override virtual, since 6.0] bool QStringListModel::clearItemData(const QModelIndex &index)
QAbstractItemModel::clearItemData(const QModelIndex &index)를 재구현합니다.
이 함수는 Qt 6.0에서 도입되었습니다.
[override virtual] QVariant QStringListModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const
QAbstractItemModel::data(const QModelIndex &index, int role) const 함수를 재구현합니다.
지정된 ` role`에 대한 데이터를, 주어진 ` index`을 가진 항목에서 반환합니다.
뷰가 유효하지 않은 인덱스를 요청하는 경우, 유효하지 않은 변형이 반환됩니다.
setData()도 참조하십시오 .
[override virtual] Qt::ItemFlags QStringListModel::flags(const QModelIndex &index) const
QAbstractListModel::flags(const QModelIndex &index) const를 재구현합니다.
지정된 index 를 가진 항목에 대한 플래그를 반환합니다.
유효한 항목은 enabled, selectable, editable, drag enabled 및 drop enabled입니다.
QAbstractItemModel::flags()도 참조하십시오 .
[override virtual] bool QStringListModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())
QAbstractItemModel::insertRows(int row, int count, const QModelIndex &parent)를 재구현합니다.
지정된 row 을 시작으로 count 행을 모델에 삽입합니다.
parent 인덱스는 선택 사항이며, QAbstractItemModel 와의 일관성을 유지하기 위해서만 사용됩니다. 기본적으로 null 인덱스가 지정되어, 행들이 모델의 최상위 레벨에 삽입됨을 나타냅니다.
삽입이 성공하면 true 를 반환합니다.
QAbstractItemModel::insertRows()도 참조하십시오 .
[override virtual] QMap<int, QVariant> QStringListModel::itemData(const QModelIndex &index) const
QAbstractItemModel::itemData(const QModelIndex &index) const를 재구현합니다.
setItemData()도 참조하십시오 .
[override virtual] bool QStringListModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)
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())
QAbstractItemModel::removeRows(int row, int count, const QModelIndex &parent)를 재구현합니다.
지정된 row 을 시작으로 모델에서 count 행들을 제거합니다.
parent 인덱스는 선택 사항이며, QAbstractItemModel 과의 일관성을 위해 사용될 뿐입니다. 기본적으로 null 인덱스가 지정되어, 행이 모델의 최상위 수준에서 제거됨을 나타냅니다.
행 제거가 성공하면 ` true `를 반환합니다.
QAbstractItemModel::removeRows()도 참조하십시오 .
[override virtual] int QStringListModel::rowCount(const QModelIndex &parent = QModelIndex()) const
QAbstractItemModel::rowCount(const QModelIndex &parent) const를 재구현합니다.
모델에 포함된 행의 수를 반환합니다. 이 값은 모델의 내부 문자열 목록에 포함된 항목의 수와 일치합니다.
선택적 매개변수인 parent 는 대부분의 모델에서 계산 대상 행의 상위 항목을 지정하는 데 사용됩니다. 유효한 상위 항목이 지정되면 이는 리스트가 되므로, 결과는 항상 0이 됩니다.
insertRows(), removeRows(), QAbstractItemModel::rowCount()도 참조하십시오 .
[override virtual] bool QStringListModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role)을 재구현합니다.
모델에서 주어진 index 를 가진 항목의 지정된 role 에 대한 데이터를, 제공된 value 로 설정합니다.
항목이 변경되면 dataChanged() 신호가 발산됩니다. dataChanged() 신호를 발산한 후 true 를 반환합니다.
Qt::ItemDataRole 및 data()도 참조하십시오 .
[override virtual] bool QStringListModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)를 재구현합니다.
roles 에 Qt::DisplayRole 와 Qt::EditRole 가 모두 포함되어 있는 경우, 후자가 우선 적용됩니다.
itemData()도 참조하십시오 .
void QStringListModel::setStringList(const QStringList &strings)
모델의 내부 문자열 목록을 strings 로 설정합니다. 모델은 연결된 모든 뷰에 기본 데이터가 변경되었음을 알립니다.
stringList() 및 dataChanged()도 참조하십시오 .
[override virtual] QModelIndex QStringListModel::sibling(int row, int column, const QModelIndex &idx) const
QAbstractListModel::sibling(int row, int column, const QModelIndex &idx) const를 재구현합니다.
[override virtual] void QStringListModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
QAbstractItemModel::sort(int column, Qt::SortOrder order)를 재구현합니다.
QStringList QStringListModel::stringList() const
모델이 데이터를 저장하는 데 사용하는 문자열 목록을 반환합니다.
setStringList()도 참조하십시오 .
[override virtual] Qt::DropActions QStringListModel::supportedDropActions() const
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.