【发布时间】:2019-04-05 09:08:52
【问题描述】:
我在 5.12.2 上使用了一些带有 QML 的 javascript 库。其中一些像 Proj4JS 一样工作。但是在将 geographiclib.js 库与 QML 一起使用时出现错误。 JavaScript库如何导入QML?
main.qml:
import QtQuick 2.12
import QtQuick.Window 2.12
import "geographiclib.js" as MyGeo
Window {
visible: true
width: 640
height: 480
Component.onCompleted: {
var Geodesic = MyGeo.GeographicLib.Geodesic,
DMS = MyGeo.GeographicLib.DMS,
geod = Geodesic.WGS84;
var r = geod.Inverse(23, 22, 44, 29);
console.log("distance is: ", r.s12.toFixed(3) + " m")
}
}
错误:
qrc:/geographiclib.js:3081: ReferenceError: window is not defined
qrc:/main.qml:9: TypeError: Cannot read property 'Geodesic' of undefined
【问题讨论】:
-
您将 .js 文件放在哪里(在运行时)?我认为它应该作为资源附加到 .qrc
-
js文件在qrc:
<file>main.qml</file><file>geographiclib.js</file>
标签: javascript qt qml