gpt4 book ai didi

c++ - 区分C++中QML对象的类类型

转载 作者:行者123 更新时间:2023-11-28 02:41:23 29 4
gpt4 key购买 nike

我有一个自定义 QML 矩形,我想在从 C++ 访问时将其与内置 QML 矩形区分开来:

// CustomRectangle.qml
import QtQuick 2.3

Rectangle {
width: 10
height: 10
// property bool dummy // line A
}

当我实例化一个需要了解对象类型的 C++ 类时,调用 QMetaObject::className 会返回 QQuickRectangle。但是,如果我通过取消注释行 A 添加属性,QMetaObject::className 现在是 CustomRectangle

如何在不添加属性的情况下将这样的类与 QQuickRectangle 区分开来?

最佳答案

您可以使用objectName 属性访问该对象。例如:

QML

Rectangle {
width: 10
height: 10
objectName: "MyObject"
}

C++

QQuickItem *item = view.rootObject()->findChild<QQuickItem*>("MyObject");
item->doSomething();

关于c++ - 区分C++中QML对象的类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25870342/

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