gpt4 book ai didi

qt - 在 Qt 中检查 QObject 派生类类型的正确方法

转载 作者:行者123 更新时间:2023-12-03 21:13:19 26 4
gpt4 key购买 nike

假设我有两个类:

class A : public QObject {};
class B : public QObject {};

那我去
QObject *a = new A();
QObject *b = new B();

现在,我如何确保“a”是 A 类的实例,而“b”是 B 类的实例?

目前我做这样的事情:
if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...

有没有更好的办法?

最佳答案

您可以使用 qobject_cast<MyClass*>(instance)在 QObject 派生类上并检查返回值。如 instance无法转换为 MyClass* ,返回值将为 NULL。

关于qt - 在 Qt 中检查 QObject 派生类类型的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1537080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com