有人可以对QML
这样的事实发表评论,除非它是extra component的一部分,否则不会执行任何命令式JavaScript
代码。当我将以下代码包含在我的QML中时,我遇到了这样的问题:
function qmlSlot(text){
page.data=text
if(page.data==="received")
page.color="black";
}
当Qt Designer被冻结并显示以下警告时:
Qt Quick Designer
不支持命令代码
我读到构建 qmlpuppet 会安装一个可执行文件,用于在构建它的Qt的/bin
目录中呈现组件。如果qmlpuppet位于/ bin目录中, Qt Quick Designer 将检查当前项目的Qt。如果是,则需要Qt版本提供的qmlpuppet而不是Qt Creator本身提供的qmlpuppet。在我的情况下,我没有使用Qt静态二进制安装,而是从源代码构建了Qt,因此生成了qmlpuppet可执行文件,并且已经位于:
/usr/local/Qt-5.2.1/qtcreator/bin
-rwxr-xr-x 1 qml2puppet
-rwxr-xr-x 1 qmlpuppet
因此,可执行文件qmlpuppet被放置在预期会被找到的地方,并且这个恼人的消息仍在继续。
我现在采取的解决方法是在我想使用Qt Designer编辑前端QML时,注释掉任何所谓的“命令式代码”。然后拿出那些评论后再次激活“命令代码”。但这非常令人讨厌,尽管代码编译并按我预期的方式工作。
那么,我应该担心这个警告吗?无论如何,有一些意思是摆脱这个问题,因为它冻结了Qt设计师?
答案 0 :(得分:7)