QMetaObject *QObject::metaObject() const 通过这个元对象,进而可以获取一个QObject对象的更多信息: QMetaObject::className() 返回运行时类的名称(不需要C++中的运行时类型识别机制RTTI) QMetaObject::methodCount() 返回类中方法的个数 以上只是元对象的简单介绍,记住元对象系统的3点特性。之所以要介绍元对象,因为...
QMetaObject::className 获取类的字符串名称。例如XTest的className值为“XTest”QMetaObject::superClass 获取父节点的QMetaObject信息 QMetaObject::inherits 判断对象是否为父节点 QMetaObject::cast 如果对象为父节点,返回对象的QMetaObject指针 QMetaObject::tr 根据.qm文件翻译自定字符串 QMetaObject::methodOffset ...
从元对象系统的角度来看,一个没有元代码的QObject子类等价于它最近的有元对象代码的祖先。这意味着,例如,QMetaObject::className()将不会返回自己类的实际名称,而是这个祖先的类名称。 因此,在实际Qt开发过程中,无论实际上是否使用了信号和槽函数机制,都强烈建议QObject的所有子类都使用Q_OBJECT宏。 审核编辑:汤梓...
QMetaObject::className() 在运行时状态下返回类名 QObject::inherits() 判断类的继承关系 QObject::tr(),QObject::trUtf8() 提供国际化,翻译字符串 QObject::setProperty(),QObject::property() 通过名称来动态设置和获取属性 QMetaObject::newInstance() 创建新实例 通过QObject::metaObject()方法, 所有继承...
例如在任何时候调用QMetaObject::className()函数都会返回类的名称。由于程序运行时保留了类型信息,那么自然就可以进行父子类之间的动态转换。qobject_cast()相比dynamic_cast()强制转换安全得多,而且速度更快。因此,对于QObject派生类之间的转换,推荐使用qobject_cast()。如下所示:...
QObject::metaObject()方法,获得与一个类相关联的meta-object。 QMetaObject::className()方法,在运行期间返回一个对象的类名,不需要本地C++编译器的RTTI(run time type information)支持。 QObject::inherits()方法,用来判断一个对象的类是不是从一个特定的类继承而来。
从元对象系统的角度来看,一个没有元代码的QObject子类相当于它最近的祖先带有元对象代码。这意味着,例如,QMetaObject::className()将不会返回类的实际名称,而是这个祖先的类名。 因此,强烈建议QObject的所有子类都使用Q_OBJECT宏,不管它们是否实际使用信号、槽和属性。
首先,可以使用QMetaObject类的静态函数来获取特定类的元对象。元对象是一个描述类的结构信息的对象,其中包含了类的名称、属性、方法等信息。可以使用QMetaObject::className()函数获取类的名称。 然后,可以使用QMetaObject类的静态函数QMetaObject::subClassNames()来获取特定类的所有子类的名称。这个函数返回一个QString...
QPushButton::staticMetaObject.className(); // 返回 "QPushButton" moveToThread函数 void QObject::moveToThread(QThread *targetThread) 函数说明: 用于将对象移动到另一个线程。对象的事件处理将在目标线程中继续进行。 参数说明: QThread *targetThread是QThread类型的指针targetThread,表示目标线程。
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::invokeMet...