Qt反射前期准备
[以下内容来自博客# Qt5之反射机制(内省),转载请注意说明出处]
-
首先得继承于Q_Object,同时需要在class中加入Q_OBJECT。
-
注册类成员变量需要使用Q_PROPERTY
Q_PROPERTY( type member READ get WRITE set) 其中READ,WRITE是关键字
Type表示成员的类型(不支持自定义类型,对Qt很多基本类型都支持);
Member代表你给该成员另外起的名字,可以和变量名不同;get,set就是自己在C++函数里面定义的基本的访问函数名,不需要写参数。 -
注册类成员函数
如果你希望这个函数能够被反射,那么很简单,只需要在类的函数声明前加入Q_INVOKABLE关键字。
以下来自个人实践
1. 反射测试类
主要实现