如何在Qt Creator中使用qmlint?
是KDAB编写的QML文件的语法检查器,作为Qt5.4的插件提供。它的用法基于命令行,如:如何在Qt Creator中使用qmlint?,qt,qml,qt-creator,qt5,qmllint,Qt,Qml,Qt Creator,Qt5,Qmllint,是KDAB编写的QML文件的语法检查器,作为Qt5.4的插件提供。它的用法基于命令行,如: $ qmllint myFile.qml 是否可以在Qt Creator中直接使用它?您可以在.pro文件中使用QMAKE\u POST\u LINK变量,如: QMAKE_POST_LINK = qmllint $$PWD/QMLFiles/myFile.qml 当您构建项目时,将在QML文件上运行QMLLIT。QtCreator 实际上,您可以在QtCreator中设置运行自定义命令,而不会手动使
$ qmllint myFile.qml
是否可以在Qt Creator中直接使用它?您可以在.pro文件中使用
QMAKE\u POST\u LINK
变量,如:
QMAKE_POST_LINK = qmllint $$PWD/QMLFiles/myFile.qml
当您构建项目时,将在QML文件上运行QMLLIT。QtCreator
实际上,您可以在QtCreator中设置运行自定义命令,而不会手动使qmake文件混乱,因为这也会影响项目中的所有其他人
因此,如果您想使用QtCreator闪亮的GUI确保您只为自己而做,而不是为他人而做,我建议您遵循以下步骤:
- 项目(左窗格)
- 构建和运行
- 构建步骤
- 添加构建步骤
- 在正确验证qml文件之前,您不希望运行任何步骤,甚至不希望运行qmake <> >你只有C++文件,所以没有“链接”这样的东西。
- 等等
- 从qmake项目文件执行系统命令
system("qmllint $$PWD/path/to/myFile.ml")
- 与
ALL_PWD_QML_FILES = $$files($${_PRO_FILE_PWD_}/*.qml , true)
# a command that creates an empty file with a given name.
win32 {
MY_TOUCH_CMD = copy NUL
} else {
MY_TOUCH_CMD = touch
}
qmllint.output = .qmllint/${QMAKE_FILE_BASE}.qmllint
qmllint.input = ALL_PWD_QML_FILES
qmllint.commands = qmllint ${QMAKE_FILE_NAME} && $${MY_TOUCH_CMD} ${QMAKE_FILE_OUT}
qmllint.CONFIG += no_link recursive target_predeps
QMAKE_EXTRA_COMPILERS += qmllint
这假定所有qml文件要么与.pro文件位于同一目录中,要么位于子目录中
在实际生成之前,它将在所有qml文件上运行QMLLIT,但前提是自上一次生成以来任何qml文件都已更改
在装有Qt 5.11和MSVC的Windows上测试。您能通过QtCreator gui管理它吗?另外,您希望在什么时候以及如何运行它,在哪个阶段,什么过程,等等,或者我的解释是可以的?我试图提到可能的情况,因为你的问题在这个意义上有点模糊。
system("qmllint $$PWD/path/to/myFile.ml")
qmllinttarget.commands = qmllint $$PWD/path/to/myFile.qml
QMAKE_EXTRA_TARGETS += qmllinttarget
ALL_PWD_QML_FILES = $$files($${_PRO_FILE_PWD_}/*.qml , true)
# a command that creates an empty file with a given name.
win32 {
MY_TOUCH_CMD = copy NUL
} else {
MY_TOUCH_CMD = touch
}
qmllint.output = .qmllint/${QMAKE_FILE_BASE}.qmllint
qmllint.input = ALL_PWD_QML_FILES
qmllint.commands = qmllint ${QMAKE_FILE_NAME} && $${MY_TOUCH_CMD} ${QMAKE_FILE_OUT}
qmllint.CONFIG += no_link recursive target_predeps
QMAKE_EXTRA_COMPILERS += qmllint