1.什么是qmltypes文件?
答:qmltypes是qml插件的解释文件,用于QtCreator语法高亮。可通过Qt提供的工 具 qmlplugindump自动生成。
2.在windows下编译qml插件时候,如何自动生成该文件?
2.1 设置qmlplugindump工具在windows中的环境变量。
1.找到qmlplugindump安装路径
2.加入环境变量
3.启动dos窗口,输入命令qmlplugindump验证:
2.2 写生成脚本create_qmltypes.bat,(该例程是windows下 )
SET BAT_PLUGIN_NAME=%1
SET BAT_PLUGIN_VERSION=%2
SET BAT_PLUGIN_PARENT_PATH=%3
SET BAT_PLUGIN_QMLTYPES_PATH=%4
echo "-------------"
echo %BAT_PLUGIN_NAME%
echo %BAT_PLUGIN_VERSION%
echo %BAT_PLUGIN_PARENT_PATH%
echo %BAT_PLUGIN_QMLTYPES_PATH%
echo "-------------"
qmlplugindump -nonrelocatable %BAT_PLUGIN_NAME% %BAT_PLUGIN_VERSION% %BAT_PLUGIN_PARENT_PATH% > %BAT_PLUGIN_QMLTYPES_PATH%
2.3 在 xxx.pro文件中加入以下内容:
# qmlplugindump -nonrelocatable
# Arg1 :module[插件]名称
# Arg2 :module[插件]版本
# Arg3 :插件所在的父路径
# Arg4 :xxx.qmltypes的生成路径,一般是和qmldir一样的路径
PLUGIN_NAME = $$uri
PLUGIN_VERSION = "1.0"
PLUGIN_PARENT_PATH = $$BUILD_ROOT/bin/plugins
PLUGIN_QMLTYPES_PATH = $$BUILD_ROOT/bin/plugins/$$uri/plugin.qmltypes
WIN_SCRIPT = "$$SOURCE_ROOT/create_qmltypes.bat" "$$PLUGIN_NAME" "$$PLUGIN_VERSION" "$$PLUGIN_PARENT_PATH" "$$PLUGIN_QMLTYPES_PATH"
#message($$WIN_SCRIPT)
WIN_CMMD=$$replace(WIN_SCRIPT, /, \\)
#message($$WIN_CMMD)
QMAKE_POST_LINK += $$WIN_CMMD
如此这样,编译后会自动生成 plugin.qmltypes文件,如图: