![](/img/trans.png)
[英]How to create QQuickWindow as a child from a C++ extended QQuickItem?
[英]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.