找回密码
 立即注册
收起左侧

QML添加导入路径需要哪些工作

7
回复
12055
查看
[复制链接]
累计签到:63 天
连续签到:1 天
来源: 2014-5-12 18:12:01 显示全部楼层 |阅读模式
1Qter豆
工作中遇到需要使用自定义插件在QML中导入在网上找到http://blog.csdn.net/chenlong12580/article/details/8624216文章,其中提到使用addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("qml")))函数或者使用QML2_IMPORT_PATH宏定义来添加导入路径,但是我都尝试了依然提示
“ module "Projects.MyFunctions" is not installed ”下面是我qmldir内容:

module Projects.MyFunctions
CustStatesFunc 1.0 CustStatesFunc.js
Func 1.0 func.js
Variable 1.0 variable.js

在qml中是这么使用的:import Projects.MyFunctions 1.0
各位大牛给点指点是还需要什么其他的指定还是我使用上有错误?

最佳答案

查看完整内容

我不是很清楚你的详细情况,要不你参考一下文档里面的那个例子 搜“qml plugin”
回复

使用道具 举报

尚未签到

2014-5-12 18:12:02 显示全部楼层
charles_gz 发表于 2014-5-13 10:04
通过importPathList打印出来的有Projects,为什么还是提示呢?是不是单在main.cpp中使用addImportPath不 ...

我不是很清楚你的详细情况,要不你参考一下文档里面的那个例子

搜“qml plugin”
回复

使用道具 举报

尚未签到

2014-5-12 22:02:19 显示全部楼层
你的插件叫什么名,就要在程序目录下面建立一个这个名字的文件夹,把插件相关的都放进去
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-5-12 22:11:43 显示全部楼层
Joey_Chan 发表于 2014-5-12 22:02
你的插件叫什么名,就要在程序目录下面建立一个这个名字的文件夹,把插件相关的都放进去 ...

目前也是根据包名创建的比如现在的是Project.MyFunctions 1.0那么我在.exe目录下创建对应的bin\qml\Projects\MyFunctions这个目录中是qmldir以及一些js文件。bin目录下放的是exe文件。
回复

使用道具 举报

尚未签到

2014-5-13 09:11:18 显示全部楼层
是有点奇怪。。我这木有问题。。要不你用qt.conf文件指定试试?
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-5-13 09:13:59 显示全部楼层
Joey_Chan 发表于 2014-5-13 09:11
是有点奇怪。。我这木有问题。。要不你用qt.conf文件指定试试?

那个之前使用过个,会把整个项目的导入路径设置了,导致Qt自己的导入包也找不到了,呵呵。
我这的情况是不是还需要在pro中指定什么啊?还是说只是简单的在可执行文件目录创建一个对应包名的目录就可以了?比如我这的的qml这个目录还有必要吗?
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-5-13 10:04:37 显示全部楼层
Joey_Chan 发表于 2014-5-13 09:11
是有点奇怪。。我这木有问题。。要不你用qt.conf文件指定试试?

通过importPathList打印出来的有Projects,为什么还是提示呢?是不是单在main.cpp中使用addImportPath不行呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-5-14 23:53:53 显示全部楼层
Joey_Chan 发表于 2014-5-13 15:20
我不是很清楚你的详细情况,要不你参考一下文档里面的那个例子

搜“qml plugin” ...

嗯,我使用qml文件代替js解决了,谢谢你的耐心回答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了