0
我需要加载文件,文件路径由FileDialog提供。该文档的加载时间很长,所以我想在加载文档时显示BusyIndicator。为了在加载我的文档时获得UI加速我需要加载我的文档WorkerScript。现在我需要为.js文件中的函数提供我的文件路径WorkerScript :: source。我找不到任何方式来这样做。传递给WorkerScript源的参数
有什么想法?
这里是我的源代码:
WorkerScript
{
id: importScanWorkerScript
source: "script.js"
}
FileDialog
{
id: importScanDialog
visible: false
title: "Import a [scan] file"
folder: "/home/arennuit/Desktop/living_room_traj0n_scannedScene"
nameFilters: [ "STL files (*stl)" ]
selectedNameFilter: "STL files (*stl)"
onAccepted:
{
importScanDialog.visible = false;
busyIndicator.running = true;
uiController.onImportScanDevMenuClicked(importScanDialog.fileUrl);
busyIndicator.running = false;
}
}
BusyIndicator
{
id: busyIndicator
running: false
anchors.centerIn: parent
}
我真的,创建辅助线程不明白这一点,但[从这里](http://doc.qt.io/qt-5/qml-workerscript.html#restrictions),它似乎无法访问QML的项目属性,方法和属性(我能够加倍检查这在我的代码)。我的控制器是在主线程上下文中导入的C++ QObject(因为我所有的计算都是在C++中进行的)。如果我无法访问我的控制器,辅助线程有什么意义?我想这是我错过的东西... – arennuit
你回答了最初的问题。我为[访问控制器]写了一个更具体的问题(https://stackoverflow.com/questions/45752428/workerscript-access-to-controller-class)。 – arennuit