以下成员源于类 QMetaType 被弃用。 提供它们是为使旧源代码能继续工作。强烈建议不要在新代码中使用它们。
(弃用)
bool
|
compare (const void * lhs , const void * rhs , int typeId , int * result ) |
(弃用)
void *
|
construct (int type , void * where , const void * copy ) |
(弃用)
bool
|
convert (const void * from , int fromTypeId , void * to , int toTypeId ) |
(弃用)
void *
|
create (int type , const void * copy = nullptr) |
(弃用)
bool
|
debugStream (QDebug & dbg , const void * rhs , int typeId ) |
(弃用)
void
|
destroy (int type , void * data ) |
(弃用)
void
|
destruct (int type , void * where ) |
(弃用)
bool
|
hasRegisteredDebugStreamOperator () |
(弃用)
bool
|
hasRegisteredDebugStreamOperator (int typeId ) |
(弃用)
bool
|
load (QDataStream & stream , int type , void * data ) |
(弃用)
const QMetaObject *
|
metaObjectForType (int type ) |
(弃用)
bool
|
save (QDataStream & stream , int type , const void * data ) |
(弃用)
int
|
sizeOf (int type ) |
(弃用)
int
|
type (const char * typeName ) |
(弃用)
int
|
type (const ::QByteArray & typeName ) |
(弃用)
QMetaType::TypeFlags
|
typeFlags (int type ) |
(弃用)
const char *
|
typeName (int typeId ) |
(弃用)
int
|
qRegisterMetaType (const char * typeName ) |
[static]
bool
QMetaType::
compare
(const
void
*
lhs
, const
void
*
rhs
,
int
typeId
,
int
*
result
)
This function is deprecated. We strongly advise against using it in new code.
Use the non-static compare method instead
比较对象在
lhs
and
rhs
. Both objects need to be of type
typeId
.
result
is set to less than, equal to or greater than zero, if
lhs
is less than, equal to or greater than
rhs
。返回
true
, if the comparison succeeded, otherwise
false
.
[static]
void
*QMetaType::
construct
(
int
type
,
void
*
where
, const
void
*
copy
)
This function is deprecated. We strongly advise against using it in new code.
Constructs a value of the given type in the existing memory addressed by where , that is a copy of copy ,并返回 where 。若 copy is zero, the value is default constructed.
This is a low-level function for explicitly managing the memory used to store the type. Consider calling create () if you don't need this level of control (that is, use "new" rather than "placement new").
You must ensure that where points to a location that can store a value of type type , and that where is suitably aligned. The type's size can be queried by calling sizeOf ().
The rule of thumb for alignment is that a type is aligned to its natural boundary, which is the smallest power of 2 that is bigger than the type, unless that alignment is larger than the maximum useful alignment for the platform. For practical purposes, alignment larger than 2 * sizeof(void*) is only necessary for special hardware instructions (e.g., aligned SSE loads and stores on x86).
[static]
bool
QMetaType::
convert
(const
void
*
from
,
int
fromTypeId
,
void
*
to
,
int
toTypeId
)
This function is deprecated. We strongly advise against using it in new code.
Converts the object at
from
from
fromTypeId
to the preallocated space at
to
typed
toTypeId
。返回
true
,若转换成功,否则 false。
Both from and to have to be valid pointers.
[static]
void
*QMetaType::
create
(
int
type
, const
void
*
copy
= nullptr)
This function is deprecated. We strongly advise against using it in new code.
Returns a copy of copy , assuming it is of type type 。若 copy is zero, creates a default constructed instance.
另请参阅 destroy (), isRegistered (),和 Type .
[static]
bool
QMetaType::
debugStream
(
QDebug
&
dbg
, const
void
*
rhs
,
int
typeId
)
This function is deprecated. We strongly advise against using it in new code.
这是重载函数。
[static]
void
QMetaType::
destroy
(
int
type
,
void
*
data
)
This function is deprecated. We strongly advise against using it in new code.
销毁 data , assuming it is of the type 给定。
另请参阅 create (), isRegistered (),和 Type .
[static]
void
QMetaType::
destruct
(
int
type
,
void
*
where
)
This function is deprecated. We strongly advise against using it in new code.
Destructs the value of the given type , located at where .
不像 destroy (), this function only invokes the type's destructor, it doesn't invoke the delete operator.
另请参阅 construct ().
[static]
template <typename T>
bool
QMetaType::
hasRegisteredDebugStreamOperator
()
This function is deprecated. We strongly advise against using it in new code.
返回
true
, if the meta type system has a registered debug stream operator for type T.
[static]
bool
QMetaType::
hasRegisteredDebugStreamOperator
(
int
typeId
)
This function is deprecated. We strongly advise against using it in new code.
使用 QMetaType::hasRegisteredDebugStreamOperator () 代替。
返回
true
, if the meta type system has a registered debug stream operator for type id
typeId
.
[static]
bool
QMetaType::
load
(
QDataStream
&
stream
,
int
type
,
void
*
data
)
This function is deprecated. We strongly advise against using it in new code.
这是重载函数。
[static]
const
QMetaObject
*QMetaType::
metaObjectForType
(
int
type
)
This function is deprecated. We strongly advise against using it in new code.
返回 QMetaType::metaObject for type
另请参阅 metaObject ().
[static]
bool
QMetaType::
save
(
QDataStream
&
stream
,
int
type
, const
void
*
data
)
This function is deprecated. We strongly advise against using it in new code.
这是重载函数。
[static]
int
QMetaType::
sizeOf
(
int
type
)
This function is deprecated. We strongly advise against using it in new code.
Returns the size of the given type in bytes (i.e. sizeof(T), where T is the actual type identified by the type argument).
This function is typically used together with construct () to perform low-level management of the memory used by a type.
另请参阅 construct () 和 QMetaType::alignOf ().
[static]
int
QMetaType::
type
(const
char
*
typeName
)
This function is deprecated. We strongly advise against using it in new code.
将句柄返回给类型调用 typeName ,或 QMetaType::UnknownType 若没有这种类型。
另请参阅 isRegistered (), typeName (),和 Type .
[static]
int
QMetaType::
type
(const
::QByteArray
&
typeName
)
This function is deprecated. We strongly advise against using it in new code.
这是重载函数。
将句柄返回给类型调用 typeName ,或 0 若没有这种类型。
另请参阅 isRegistered () 和 typeName ().
[static]
QMetaType::TypeFlags
QMetaType::
typeFlags
(
int
type
)
This function is deprecated. We strongly advise against using it in new code.
返回标志为给定 type .
另请参阅 QMetaType::TypeFlags .
[static]
const
char
*QMetaType::
typeName
(
int
typeId
)
This function is deprecated. We strongly advise against using it in new code.
Returns the type name associated with the given typeId , or a null pointer if no matching type was found. The returned pointer must not be deleted.
另请参阅 type (), isRegistered (), Type ,和 name ().
This function is deprecated. We strongly advise against using it in new code.
注册类型名称
typeName
为类型
T
。返回的内部 ID 用于
QMetaType
。可以注册拥有公共默认构造函数、公共副本构造函数和公共析构函数的任何类 (或结构)。
此函数要求
T
是在函数被调用时的完全定义类型。对于指针类型,它还要求指向完全定义的类型。使用
Q_DECLARE_OPAQUE_POINTER
() 能够注册指向转发声明类型的指针。
在已注册类型后,可以在运行时动态创建和销毁该类型的对象。
此范例注册类
MyClass
:
qRegisterMetaType<MyClass>("MyClass");
此函数对注册 typedef 很有用,因此它们可以用于 QMetaProperty ,或在 QueuedConnections
typedef QString CustomString; qRegisterMetaType<CustomString>("CustomString");
警告: 此函数仅适用于注册别名 (typedef) 为每种其它用例 Q_DECLARE_METATYPE and qMetaTypeId () 应该被使用以取而代之。
另请参阅 isRegistered () 和 Q_DECLARE_METATYPE ().