8

有人可以评论一下,除非它是额外组件QML的一部分,否则任何命令式代码都不会执行。当我在我的 QML 中包含以下代码时,我遇到了这样的问题:JavaScript

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

当 Qt Designer 被冻结并显示以下警告时:

Qt Quick Designer 不支持命令式代码

我读到构建qmlpuppet/bin会在构建它的 Qt 目录中安装一个用于渲染组件的可执行文件。如果 qmlpuppet 在 /bin 目录中, Qt Quick Designer会检查当前项目的 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 Designer?

4

1 回答 1

7

这是目前报告的 QtCreator 错误:

https://bugreports.qt-project.org/browse/QTCREATORBUG-10940?page=com.atlassian.streams.streams-jira-plugin:activity-stream-issue-tab https://bugreports.qt.io/browse /QTCREATORBUG-10940

所以不要担心警告,它会修复的

于 2014-02-13T10:48:51.227 回答