在Qt的单独线程中运行MainWindow的QQuickView

我有一个应用程序,在Ui的不同选项卡中具有一些模块。在这些选项卡之一中,我有一个verticalLayout(map_verticalLayout),并且我想在此布局中添加qquickView(mapView)。在mainwindow.cpp的构造函数中,我使用了以下代码:

...
qquickView* mapView = new qquickView();
QWidget *mapWidget = QWidget::createWindowContainer(mapView,this);
ui->map_verticalLayout->addWidget(mapWidget);
mapView->engine()->rootContext()->setContextProperty("loc",NodesMap::getInstance());
mapView->setsource(QUrl(QStringLiteral("qrc:/map/main.qml")));
mapView->setResizeMode(qquickView::SizeRootObjectToView);
...

当main.qml中没有繁重的处理时,上面的代码可以很好地工作。但是在某些情况下,由于main.qml的延迟很大(由于地图上的点数很高),导致mainwindow冻结。现在,我想在另一个线程中运行qquickView(mapView)或main.qml处理。我在enter link description hereenter link description here中看到了类似的问题,但是这些问题与我的问题几乎不同,它们的答案不能解决我的问题。解决办法是什么?

houtiecong 回答:在Qt的单独线程中运行MainWindow的QQuickView

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3122432.html

大家都在问