QQmlListReference Class
QQmlListReference 클래스를 사용하면 QQmlListProperty 속성을 조작할 수 있습니다. 더 보기...
Header: | #include <QQmlListReference> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
qmake: | QT += qml |
공용 함수
QQmlListReference() | |
(since 6.1) | QQmlListReference(const QVariant &variant) |
QQmlListReference(QObject *object, const char *property) | |
bool | append(QObject *object) const |
QObject * | at(qsizetype index) const |
bool | canAppend() const |
bool | canAt() const |
bool | canClear() const |
bool | canCount() const |
bool | canRemoveLast() const |
bool | canReplace() const |
bool | clear() const |
qsizetype | count() const |
bool | isManipulable() const |
bool | isReadable() const |
bool | isValid() const |
const QMetaObject * | listElementType() const |
QObject * | object() const |
bool | removeLast() const |
bool | replace(qsizetype index, QObject *object) const |
(since 6.2) qsizetype | size() const |
bool | operator==(const QQmlListReference &other) const |
상세 설명
QQmlListReference를 사용하면 C++ 프로그램에서 간단하고 형식적으로 안전한 방식으로 QML 목록 프로퍼티를 읽고 값을 할당할 수 있습니다. 객체와 프로퍼티 이름을 전달하거나 QQmlProperty 인스턴스를 통해 QQmlListReference를 생성할 수 있습니다. 이 두 가지 방법은 동일합니다:
QQmlListReference ref1(object, "children"); QQmlProperty ref2(object, "children"); QQmlListReference ref2 = qvariant_cast<QQmlListReference>(ref2.read());
모든 QML 목록 프로퍼티가 모든 연산을 지원하는 것은 아닙니다. canAppend (), canAt(), canClear() 및 canCount() 메서드 집합을 사용하면 프로그램에서 특정 프로퍼티에서 연산을 지원하는지 여부를 쿼리할 수 있습니다.
QML 목록 프로퍼티는 유형 안전합니다. 올바른 기본 클래스에서 파생된 QObject 만 목록에 할당할 수 있습니다. listElementType () 메서드는 지원되는 QObject 유형의 QMetaObject 을 쿼리하는 데 사용할 수 있습니다. 잘못된 유형의 객체를 목록 속성에 추가하려고 하면 실패합니다.
일반 목록과 마찬가지로 인덱스로 목록 요소에 액세스할 때 at() 호출 전에 count() 메서드를 사용하여 범위를 벗어난 요소를 요청하지 않는지 확인하는 것은 호출자의 책임입니다.
멤버 함수 문서
QQmlListReference::QQmlListReference()
잘못된 인스턴스를 생성합니다.
[explicit, since 6.1]
QQmlListReference::QQmlListReference(const QVariant &variant)
QQmlListProperty 을 포함하는 QVariant variant 에서 QQmlListReference 를 생성합니다. variant 에 목록 속성이 포함되어 있지 않으면 잘못된 QQmlListReference가 생성됩니다. 참조가 생성된 후 목록 속성을 소유한 객체가 소멸되면 자동으로 무효화됩니다. 즉, 객체가 삭제된 후에도 QQmlListReference 인스턴스를 보유해도 안전합니다.
이 함수는 Qt 6.1에 도입되었습니다.
QQmlListReference::QQmlListReference(QObject *object, const char *property)
object 의 property 에 대한 QQmlListReference 를 구축합니다. property 이 리스트 프로퍼티가 아닌 경우, 잘못된 QQmlListReference가 생성됩니다. 참조가 생성된 후 object 가 소멸되면 자동으로 유효하지 않게 됩니다. 즉, object 가 삭제된 후에도 QQmlListReference 인스턴스를 보유하는 것이 안전합니다.
bool QQmlListReference::append(QObject *object) const
object 을 목록에 추가합니다. 작업이 성공하면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.
canAppend()도 참조하세요 .
QObject *QQmlListReference::at(qsizetype index) const
index 에서 목록 요소를 반환하거나 작업이 실패한 경우 0을 반환합니다.
canAt()도 참조하세요 .
bool QQmlListReference::canAppend() const
목록 속성을 추가할 수 있으면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다. 참조가 유효하지 않으면 false를 반환합니다.
append()도 참조하세요 .
bool QQmlListReference::canAt() const
목록 속성을 인덱스로 쿼리할 수 있으면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다. 참조가 유효하지 않으면 false를 반환합니다.
at()도 참조하세요 .
bool QQmlListReference::canClear() const
목록 속성을 지울 수 있으면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다. 참조가 유효하지 않으면 false를 반환합니다.
clear()도 참조하세요 .
bool QQmlListReference::canCount() const
목록 속성의 요소 수를 쿼리할 수 있으면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다. 참조가 유효하지 않으면 false를 반환합니다.
count()도 참조하세요 .
bool QQmlListReference::canRemoveLast() const
목록 속성에서 마지막 항목을 제거할 수 있으면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다. 참조가 유효하지 않으면 false를 반환합니다.
removeLast()도 참조하세요 .
bool QQmlListReference::canReplace() const
목록 속성의 항목을 바꿀 수 있으면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다. 참조가 유효하지 않으면 false를 반환합니다.
replace()도 참조하세요 .
bool QQmlListReference::clear() const
목록을 지웁니다. 작업이 성공하면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.
canClear()도 참조하세요 .
qsizetype QQmlListReference::count() const
목록에 있는 객체의 수를 반환하거나 연산에 실패한 경우 0을 반환합니다.
bool QQmlListReference::isManipulable() const
at(), count(), append(), clear() 또는 removeLast()가 구현되어 목록을 조작할 수 있는 경우 참을 반환합니다.
replace() 및 removeLast()는 모든 항목을 숨기고 clear() 및 append()를 사용하여 목록을 다시 작성하여 에뮬레이션할 수 있습니다. 따라서 목록을 조작할 수 있어야 하는 것은 아닙니다. 또한 clear()는 removeLast()를 사용하여 에뮬레이션할 수 있습니다.
isReadable(), at(), count(), append(), clear(), replace(), removeLast()도 참조하세요 .
bool QQmlListReference::isReadable() const
at() 및 count()이 구현되어 요소에 액세스할 수 있으면 true를 반환합니다.
isManipulable(), at() 및 count()도 참조하세요 .
bool QQmlListReference::isValid() const
인스턴스가 유효한 목록 속성을 참조하면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.
const QMetaObject *QQmlListReference::listElementType() const
목록 속성에 저장된 요소에 대해 QMetaObject 또는 참조가 유효하지 않은 경우 nullptr
을 반환합니다.
QMetaObject 을 미리 사용하여 주어진 인스턴스를 목록에 추가할 수 있는지 여부를 확인할 수 있습니다. 생성 시 엔진을 전달하지 않은 경우 nullptr을 반환할 수 있습니다.
QObject *QQmlListReference::object() const
목록 속성의 객체를 반환합니다. 참조가 유효하지 않으면 nullptr
을 반환합니다.
bool QQmlListReference::removeLast() const
목록의 마지막 항목을 제거합니다. 작업이 성공하면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.
canRemoveLast()도 참조하세요 .
bool QQmlListReference::replace(qsizetype index, QObject *object) const
목록의 index 항목을 object 으로 바꿉니다. 작업이 성공하면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.
canReplace()도 참조하세요 .
[since 6.2]
qsizetype QQmlListReference::size() const
목록에 있는 객체의 수를 반환하거나, 연산에 실패하면 0을 반환합니다.
이 함수는 Qt 6.2에 도입되었습니다.
bool QQmlListReference::operator==(const QQmlListReference &other) const
QQmlListReference 과 other 을 비교하여 같으면 true
을 반환합니다. 둘은 복사 할당 또는 복사 구성을 통해 한 쪽이 다른 쪽에서 생성된 경우에만 동일한 것으로 간주됩니다.
참고: 동일한 객체에 대해 독립적으로 생성된 참조는 동일한 것으로 간주되지 않습니다.
© 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.