繁体   English   中英

如何从 C++ 代码将 QML 对象转换为 QQuickWindow?

[英]How to cast a QML object as QQuickWindow from c++ code?

我正在使用 QQmlVTKPlugin,它允许我使用 QML 直接访问 VTKRenderWindow 和 VTKRenderItem。 为了设置这个,我需要给我的 QQMLApplicationEngine 一个 QQuickWindow 和一个 QQuickItem。 如果我只是从 main.cpp 做这个初始化,一切正常,但出于某种原因,我需要通过在我的 QML 文件中使用单例调用类构造函数来做到这一点。 我从 QML 调用以下构造函数但是当我执行 window->show() 我的应用程序崩溃

SceneManage::SceneManage(QObject *topLevel)
{
    window = qobject_cast<QQuickWindow *>(topLevel);   // QQuickWindow window
    window->show();
    QQuickItem *item = topLevel->findChild<QQuickItem *>("3DViewer");
...

有人有办法做我想做的事吗?

解决方案:不要决定从 C++ 显示窗口,而只在 QML 中设置可见参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM