本文整理汇总了C++中QQmlType::baseMetaObject方法的典型用法代码示例。如果您正苦于以下问题:C++ QQmlType::baseMetaObject方法的具体用法?C++ QQmlType::baseMetaObject怎么用?C++ QQmlType::baseMetaObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QQmlType
的用法示例。
在下文中一共展示了QQmlType::baseMetaObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: registerSingletonType
int registerSingletonType(const QQmlPrivate::RegisterSingletonType &type)
{
QWriteLocker lock(metaTypeDataLock());
QQmlMetaTypeData *data = metaTypeData();
QString typeName = QString::fromUtf8(type.typeName);
if (!checkRegistration(QQmlType::SingletonType, data, type.uri, typeName))
return -1;
int index = data->types.count();
QQmlType *dtype = new QQmlType(index, typeName, type);
data->types.append(dtype);
data->idToType.insert(dtype->typeId(), dtype);
if (!dtype->elementName().isEmpty())
data->nameToType.insertMulti(dtype->elementName(), dtype);
if (dtype->baseMetaObject())
data->metaObjectToType.insertMulti(dtype->baseMetaObject(), dtype);
if (type.typeId) {
if (data->objects.size() <= type.typeId)
data->objects.resize(type.typeId + 16);
data->objects.setBit(type.typeId, true);
}
if (!dtype->module().isEmpty()) {
const QHashedString &mod = dtype->module();
QQmlMetaTypeData::VersionedUri versionedUri(mod, type.versionMajor);
QQmlTypeModule *module = data->uriToModule.value(versionedUri);
if (!module) {
module = new QQmlTypeModule;
module->d->uri = versionedUri;
data->uriToModule.insert(versionedUri, module);
}
module->d->add(dtype);
}
return index;
}