如何从C++访问QML Surface3DSeries?
How to access QML Surface3DSeries from C++?
如何从C++访问qml Surface3DSeries对象? 我在QObject::findChildren((方法上遇到了严重的问题。我的main.qml声明了一个对象名称为"mySurface"的Surface3D和一个对象名称为"mySurfaceSeries"的Surface3DSeries项目,如下所示:
Surface3D {
objectName: "mySurface"
width: parent.width
height: parent.height
Surface3DSeries {
objectName: "mySurfaceSeries"
ItemModelSurfaceDataProxy {
[...]
}
}
}
在main.cpp中加载qml后,我的C++代码调用rootObject->findChildren((。返回的对象树包含一个名为"mySurface"的对象,但不包含名为"mySurfaceSeries"的对象。我不知道为什么 - 我认为 qml 中的每个项目都会在对象树中表示。qml中没有明显的错误,Surface3D可以正确显示Surface3DSeries提供的数据。
树的"mySurface"对象不是Q3DSurface(通过它可以访问该系列(,而是一个QtDataVisualization::D eclarativeSurface,在我能找到的任何地方都没有描述。DeclarativeSurface 类在 qtdatavis3d/src/datavisualizationqml2/declarativesurface_p.h 中定义,包含一个很有前途的方法 seriesList(( - 但 QtCreator 说"命名空间 'QtDataVisualization'中没有名为 'DeclarativeSurface' 的类型",显然该文件不在 QtCreator 的包含文件路径中。
所以我现在不知所措 - 如何从C++访问Surface3DSeries?
谢谢! 汤姆
这是可能的,但不受支持且未记录。
- 从C++实例化QML
- 使用CMake创建QML插件
- QT通过C++添加映射QML项目
- 如何在没有信号的情况下从C++执行QML插槽
- QML按钮点击功能执行顺序
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 建议在运行时将带有类实例的列表从c++导入qml
- Qt Quick-如何仅从c++代码与qml属性交互
- 如何将带有自定义对象的容器从C++传递到QML
- QML 使用带有参数C++函数
- 最佳做法是从另一个线程访问 qml 中的Q_PROPERTY
- 如何从C++端挂接到 QML 项的 onClick 事件
- 在 qml 中使用 Q_ENUM 和 Q_PROPERTY 作为枚举类
- 从C++更改 QML 图像源
- QML TableView 使用 QtQuick.Controls 2 单击行
- 如何多次询问来自QML对话框的输入?
- QtQuick - qml:28:错误:未知方法返回类型:自定义类型
- 阅读 QML 中结构C++ QVector 的 QVector
- 如何使用connect将qml按钮与同一类的cpp函数连接起来
- 如何从C++访问QML Surface3DSeries?