将JavaScript文件导入qt creator中的QML
我在将js文件导入QML文件时遇到问题。我想做的是在JavaScript文件中放入一些常量值(以后可能会更改),然后将其导入我的QML文件中。以下是js文件:将JavaScript文件导入qt creator中的QML,qt,qml,qt-creator,Qt,Qml,Qt Creator,我在将js文件导入QML文件时遇到问题。我想做的是在JavaScript文件中放入一些常量值(以后可能会更改),然后将其导入我的QML文件中。以下是js文件: //autolayoutconstants.js .pragma library /// The X coordinate to start autolayout var oX = 10; /// The Y coordinate to start autolayout var oY = 10; //some other vars
//autolayoutconstants.js
.pragma library
/// The X coordinate to start autolayout
var oX = 10;
/// The Y coordinate to start autolayout
var oY = 10;
//some other vars
这就是我在QML文件中导入它的方式:
import "qrc:/ProjectEditor/autolayoutconstants.js" as ALConsts
在同一个文件中,我尝试使用以下方式定义的值:
var sX = ALConsts.oX;
var sY = ALConsts.oY;
但是sX和sY值将被视为具有值0
!!!我没有收到任何错误/警告,因此我不知道可能出了什么问题
更新
我发现如果我更改import语句并删除qrc://
和目录,它就会正常工作!我的意思是我必须做以下改变:
import "autolayoutconstants.js" as ALConsts
我不明白为什么?所以我现在的问题是,是否有人能解释原因。可能是项目结构或qt creator的问题?我想这是qml引擎搜索资源的方式和语法。。有些随意。加载除主文件外的任何qml文件时,我们不使用资源前缀。您可能会阅读以下文档:@retiredInja,但我已经看到并拥有一些示例代码,其中包含导入的
qrc:
语句。这是怎么回事?也许这些文件与主文件位于不同的资源包中,或者有其他原因。很难说没有看到问题中的代码。@RetiredInja我想我知道你的意思。那么,有没有一种方法可以将新创建的js文件移动到捆绑包中?哪条路更好?我的意思是,我想把我的js文件放到别的地方。如果你愿意,你可以回答这个问题,我标记你的答案!