2014-01-24 46 views
8

有人可以评论一个事实:对于QML,任何命令JavaScript代码不会执行,除非它是extra component的一部分。我面临着这样那样的问题,当我有下面的代码我QML:QML - 不支持命令代码

function qmlSlot(text){ 
    page.data=text 
    if(page.data==="received") 
     page.color="black"; 
} 

由于Qt设计得到冻结,并显示以下警告:

势在必行代码是不是在Qt的支持快速设计师

,我读了建设qmlpuppet安装在渲染组件的可执行文件Qt构建它的目录。 Qt Quick Designer如果qmlpuppet位于/ bin目录中,则检查当前项目的Qt。如果是,则需要Qt版本提供的qmlpuppet,而不是Qt Creator自身提供的版本。在我来说,我没有使用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设计器?

+2

看看此http:/ /qt-project.org/forums/viewthread/25270 – Apokal

+0

@Apokal - 谢谢!我已经添加了一些额外的信息和链接。 –

回答