Qt Core学习日记——第八天QMetaObject(下)

QMetaObject::normalizedType

将名称规范化。

例如:

QByteArray normType = QMetaObject::normalizedType(" int const *");

// normType is now "const int*"

QMetaObject::connect(const QObject *sender, int signal_index, const QObject *receiver, int method_index, int type = 0, int *types = nullptr)

建立信号和槽的响应关系。实际上就是在QObjectPrivate::connections::signalVector中添加一个槽、信号对应关系。

QMetaObject::disconnect

断开信号槽连接。实际上就是在QObjectPrivate::connections::signalVector中删除槽、信号对应关系。

QMetaObject::disconnectOne

断开信号槽连接

QMetaObject::connectSlotsByName

递归搜索给定的所有子对象,并将来自它们的匹配信号连接到遵循以下形式的插槽:

void on_<object name>_<signal name>(<signal parameters>)

QMetaObject::activate(QObject *sender, int signal_index, void **argv)

QMetaObject::activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv)

void QMetaObject::activate(QObject *sender, int signal_offset, int local_signal_index, void **argv)

QMetaObject::invokeMethod

建立信号槽连接

QMetaObject::metacall

通过函数指针,最后调用到moc中

例如xtest的metacall最后调用到XTest::qt_metacall

QMetaObject::invokeMethodImpl

建立信号槽连接

pulic函数

QMetaObject::className

获取类的字符串名称。例如XTest的className值为"XTest"

QMetaObject::superClass

获取父节点的QMetaObject信息

QMetaObject::inherits

判断对象是否为父节点

QMetaObject::cast

如果对象为父节点,返回对象的QMetaObject指针

QMetaObject::tr

根据.qm文件翻译自定字符串

QMetaObject::methodOffset

返回类第一个函数的索引,在此索引前是父类函数索引

QMetaObject::enumeratorOffset

返回类第一个枚举的索引,在此索引前是父类枚举索引

QMetaObject::propertyOffset

返回类第一个属性的索引,在此索引前是父类属性索引

QMetaObject::classInfoOffset

返回类第一个类信息的索引,在此索引前是父类类信息索引

QMetaObject::constructorCount

类中构造函数的个数

QMetaObject::methodCount

类及父类中所有函数的个数

QMetaObject::enumeratorCount

类及父类中所有枚举的个数

QMetaObject::propertyCount

类及父类中所有属性的个数

QMetaObject::classInfoCount

类及父类中所有类信息的个数

QMetaObject::indexOfConstructor

查找构造函数并返回其索引

QMetaObject::indexOfMethod

查找函数并返回其索引

QMetaObject::indexOfSignal

查找信号并返回其索引

QMetaObject::indexOfSlot

查找槽函数并返回其索引

QMetaObject::indexOfEnumerator

查找枚举并返回其索引

QMetaObject::indexOfProperty

查找属性并返回其索引

QMetaObject::indexOfClassInfo

查找类信息并返回其索引

QMetaObject::constructor

返回指定索引的构造函数

QMetaObject::method

返回指定索引的函数

QMetaObject::enumerator

返回指定索引的枚举

QMetaObject::property

返回指定索引的属性

QMetaObject::classInfo

返回指定索引的类信息

QMetaObject::userProperty

从后往前,返回第一个带有user标记的属性

QMetaObject::staticMetaObject

返回自己的QMetaObject指针

QMetaObject::static_metacall

调用类moc文件中的类名::qt_metacall函数。例如XTest::qt_metacall

QMetaObject::newInstance

仅支持通过Q_INVOKABLE声明的构造函数

构造该类的新实例。你最多可以传递十个参数赋给构造函数,返回新对象。

如果没有合适的构造函数可用,返回nullptr。

QMetaObject::superClass

返回父节点的QMetaObject指针

相关推荐
辉灰笔记13 小时前
第一篇:MySQL8.0生产备份实战|XtraBackup全自动全量+增量备份(钉钉告警+异地Binlog归档)
数据库·mysql·钉钉·运维开发
山峰哥13 小时前
‌Explain实战:打开数据库执行计划的黑盒‌
大数据·服务器·数据库·sql·深度优先·宽度优先
心中有国也有家13 小时前
AtomGit Flutter 鸿蒙客户端:Flutter 鸿蒙应用的错误处理与优雅降级策略
学习·flutter·华为·harmonyos
2301_8002561113 小时前
人工智能入门学习——ANN、CNN基本概念和考试核心代码
人工智能·学习·cnn
辞旧 lekkk13 小时前
CMake工程指南(一)
linux·运维·服务器·开发语言·qt·学习·萌新
ClickHouseDB14 小时前
ClickHouse 26.6 版本发布说明
数据库
Wang's Blog14 小时前
Java框架快速入门:深入MyBatis-Plus高级DML操作(ID策略·逻辑删除·乐观锁)
java·数据库·mybatis
db_murphy14 小时前
机器学习决策树的基尼系数是个啥?
学习·算法
小二·1 天前
RAG + 向量数据库实战:ChromaDB / Milvus / FAISS 选型与性能横评
数据库·milvus·faiss
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端: ChangeNotifier 模式
学习·flutter·华为·harmonyos