我是Qt快速应用程序的新手。 (QML)
我想创建动态图像表(比如在Samegame示例中),但它使用线程通过使用workerScript进行实时创建。
如何通过Qt函数使用WorkerScript可以在新线程和父线程之间传递?或者可以在javascript中导入Qt func?
例如
// main.qml 导入QtQuick 1.0
Rectangle {
width: 800; height: 600
WorkerScript {
id: myWorker
source: "script.js"
}
Item {
id: container
anchors.fill: parent
}
Component.onCompleted: myWorker.sendMessage({ 'container':container })
}
//的script.js
WorkerScript.onMessage = function(message) {
// error occur in this below line with TypeError: Result of expression 'Qt.createComponent' [undefined] is not a function.
var component = Qt.createComponent("Imgbox.qml");
if (component.status == Component.Ready) {
var img = component.createObject(message.container);
}
}
// Imgbox.qml
import QtQuick 1.0
Image {
id: img
source: "./img.jpg"; clip: true
}
感谢。
答案 0 :(得分:1)
无法在线程中创建组件。如果只是加载图像的成本是问题,可以通过设置异步在后台加载它们:true