Vik*_*eva 8 c++ qt qml qtquick-designer
有人可以评论这样一个事实,即除非它是额外组件的一部分,否则不执行QML任何命令性JavaScript代码.当我将以下代码包含在我的QML中时,我遇到了这样的问题:
function qmlSlot(text){
page.data=text
if(page.data==="received")
page.color="black";
}
Run Code Online (Sandbox Code Playgroud)
当Qt Designer被冻结并显示以下警告:
Qt Quick Designer不支持命令式代码
我读到构建qmlpuppet会安装一个可执行文件,用于在/bin构建它的Qt目录中呈现组件.如果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
Run Code Online (Sandbox Code Playgroud)
因此,可执行文件qmlpuppet被放置在预期找到的位置,并且仍然会继续这个烦人的消息.
我现在采取的解决方法是在我想使用Qt Designer编辑前端QML时,注释掉任何所谓的"命令式代码".然后拿出那些评论后再次激活"命令代码".但这非常令人讨厌,尽管代码编译并按我预期的方式工作.
那么,我应该担心这个警告吗?无论如何,有一些意思是摆脱这个问题,因为它冻结了Qt设计师?