Obsolete Members for QMetaType
QMetaType 클래스의 다음 멤버는 더 이상 사용되지 않습니다. 이들은 이전 소스 코드의 작동을 유지하기 위해 제공됩니다. 새 코드에서는 사용하지 않는 것이 좋습니다.
정적 공용 멤버
(deprecated) bool | compare(const void *lhs, const void *rhs, int typeId, int *result) |
(deprecated) void * | construct(int type, void *where, const void *copy) |
(deprecated) bool | convert(const void *from, int fromTypeId, void *to, int toTypeId) |
(deprecated) void * | create(int type, const void *copy = nullptr) |
(deprecated) bool | debugStream(QDebug &dbg, const void *rhs, int typeId) |
(deprecated) void | destroy(int type, void *data) |
(deprecated) void | destruct(int type, void *where) |
(deprecated) bool | hasRegisteredDebugStreamOperator() |
(deprecated) bool | hasRegisteredDebugStreamOperator(int typeId) |
(deprecated) bool | load(QDataStream &stream, int type, void *data) |
(deprecated) const QMetaObject * | metaObjectForType(int type) |
(deprecated) bool | save(QDataStream &stream, int type, const void *data) |
(deprecated) int | sizeOf(int type) |
(deprecated) int | type(const char *typeName) |
(deprecated) int | type(const QByteArray &typeName) |
(deprecated) QMetaType::TypeFlags | typeFlags(int type) |
(deprecated) const char * | typeName(int typeId) |
관련 비회원
(deprecated) int | qRegisterMetaType(const char *typeName) |
멤버 함수 문서
[static, deprecated]
bool QMetaType::compare(const void *lhs, const void *rhs, int typeId, int *result)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
대신 정적 비교 메서드를 사용하세요.
lhs 와 rhs 의 객체를 비교합니다. 두 객체 모두 typeId 유형이어야 합니다. result 은 0보다 작거나 같거나 큰 값으로 설정되고, lhs 은 rhs 보다 작거나 같거나 큰 값입니다. 비교에 성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[static, deprecated]
void *QMetaType::construct(int type, void *where, const void *copy)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
where 으로 주소가 지정된 기존 메모리에 주어진 type 값, 즉 copy 의 복사본을 생성하고 where 을 반환합니다. copy 이 0이면 기본값이 생성됩니다.
이 함수는 타입을 저장하는 데 사용되는 메모리를 명시적으로 관리하기 위한 저수준 함수입니다. 이 수준의 제어가 필요하지 않은 경우 create()를 호출하는 것이 좋습니다(즉, "배치 새로 만들기" 대신 "새로 만들기"를 사용).
where 이 type 유형의 값을 저장할 수 있는 위치를 가리키고 where 이 적절하게 정렬되어 있는지 확인해야 합니다. sizeOf ()를 호출하여 타입의 크기를 조회할 수 있습니다.
정렬에 대한 경험 법칙은 정렬이 플랫폼에 유용한 최대 정렬보다 크지 않는 한 유형보다 큰 2의 가장 작은 거듭제곱인 자연 경계에 정렬하는 것입니다. 실용적인 목적으로 2 * sizeof(void*)보다 큰 정렬은 특수한 하드웨어 명령어(예: x86에서 정렬된 SSE 로드 및 저장)에만 필요합니다.
destruct() 및 sizeOf()도 참조하세요 .
[static, deprecated]
bool QMetaType::convert(const void *from, int fromTypeId, void *to, int toTypeId)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
from 에 있는 객체를 fromTypeId 에서 to 에 미리 할당된 공간으로 변환합니다 toTypeId. 변환에 성공하면 true
를 반환하고, 그렇지 않으면 false를 반환합니다.
from 와 to 모두 유효한 포인터여야 합니다.
[static, deprecated]
void *QMetaType::create(int type, const void *copy = nullptr)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
type 유형이라고 가정하여 copy 의 복사본을 반환합니다. copy 이 0이면 기본 생성 인스턴스를 만듭니다.
destroy(), isRegistered() 및 Type 를참조하세요 .
[static, deprecated]
bool QMetaType::debugStream(QDebug &dbg, const void *rhs, int typeId)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
이 함수는 과부하가 걸린 함수입니다.
[static, deprecated]
void QMetaType::destroy(int type, void *data)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
주어진 type 으로 가정하여 data 을 파괴합니다.
create(), isRegistered() 및 Type 를참조하세요 .
[static, deprecated]
void QMetaType::destruct(int type, void *where)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
where 에 있는 주어진 type 의 값을 파괴합니다.
destroy()와 달리 이 함수는 타입의 소멸자만 호출하고 삭제 연산자는 호출하지 않습니다.
construct()도 참조하세요 .
[static, deprecated]
template <typename T> bool QMetaType::hasRegisteredDebugStreamOperator()
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
메타 타입 시스템에 T 타입에 대해 등록된 디버그 스트림 연산자가 있는 경우 true
를 반환합니다.
[static, deprecated]
bool QMetaType::hasRegisteredDebugStreamOperator(int typeId)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
대신 QMetaType::hasRegisteredDebugStreamOperator()를 사용하세요.
메타 타입 시스템에 타입 ID typeId 에 대해 등록된 디버그 스트림 연산자가 있는 경우 true
를 반환합니다.
[static, deprecated]
bool QMetaType::load(QDataStream &stream, int type, void *data)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
이 함수는 과부하가 걸린 함수입니다.
[static, deprecated]
const QMetaObject *QMetaType::metaObjectForType(int type)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
QMetaType::metaObject 를 반환합니다. type
metaObject()도 참조하세요 .
[static, deprecated]
bool QMetaType::save(QDataStream &stream, int type, const void *data)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
이 함수는 과부하가 걸린 함수입니다.
[static, deprecated]
int QMetaType::sizeOf(int type)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서는 사용하지 않는 것이 좋습니다.
주어진 type 의 크기를 바이트 단위로 반환합니다(즉, sizeof(T), 여기서 T는 type 인수로 식별되는 실제 유형).
이 함수는 일반적으로 construct()와 함께 사용하여 타입이 사용하는 메모리의 저수준 관리를 수행합니다.
construct() 및 QMetaType::alignOf()도 참조하세요 .
[static, deprecated]
int QMetaType::type(const char *typeName)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
typeName 또는 해당 유형이 없는 경우 QMetaType::UnknownType 이라는 유형에 대한 핸들을 반환합니다.
isRegistered(), typeName() 및 Type 를참조하세요 .
[static, deprecated]
int QMetaType::type(const QByteArray &typeName)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
이 함수는 오버로드된 함수입니다.
typeName 라는 유형의 핸들을 반환하거나 해당 유형이 없는 경우 0을 반환합니다.
isRegistered() 및 typeName()도 참조하세요 .
[static, deprecated]
QMetaType::TypeFlags QMetaType::typeFlags(int type)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
주어진 type 의 플래그를 반환합니다.
QMetaType::TypeFlags 를참조하세요 .
[static, deprecated]
const char *QMetaType::typeName(int typeId)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
주어진 typeId 과 연관된 유형 이름을 반환하거나 일치하는 유형을 찾을 수 없는 경우 널 포인터를 반환합니다. 반환된 포인터는 삭제해서는 안 됩니다.
type(), isRegistered(), Type, 및 name()도 참조하세요 .
관련 비회원
[deprecated]
template <typename T> int qRegisterMetaType(const char *typeName)
이 함수는 더 이상 사용되지 않습니다. 새 코드에서 이 함수를 사용하지 않는 것이 좋습니다.
T
유형에 대한 유형 이름 typeName 을 등록합니다. QMetaType 에서 사용하는 내부 ID를 반환합니다. 공용 기본 생성자, 공용 복사본 생성자 및 공용 소멸자가 있는 모든 클래스 또는 구조체를 등록할 수 있습니다.
이 함수를 사용하려면 함수가 호출되는 시점에 T
가 완전히 정의된 유형이어야 합니다. 포인터 타입의 경우 가리키는 타입도 완전히 정의되어 있어야 합니다. Q_DECLARE_OPAQUE_POINTER ()를 사용하여 포워드 선언된 유형에 대한 포인터를 등록할 수 있습니다.
타입을 등록한 후에는 런타임에 해당 타입의 객체를 동적으로 생성 및 소멸할 수 있습니다.
이 예에서는 MyClass
클래스를 등록합니다:
qRegisterMetaType<MyClass>("MyClass");
이 함수는 QMetaProperty 에서 사용할 수 있도록 typedef를 등록하는 데 유용합니다.
typedef QString CustomString;qRegisterMetaType<CustomString>("CustomString");
경고: 이 함수는 별칭을 등록할 때만 유용하며 그 외의 모든 사용 사례에서는 Q_DECLARE_METATYPE 및 qMetaTypeId()을 대신 사용해야 합니다.
isRegistered() 및 Q_DECLARE_METATYPE()도 참조하세요 .
© 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.