javascript - 通过 Javascript 在 Qml 中更改时字符串的末尾被 chop

标签 javascript qt qml

每当我尝试通过 Javascript 更改 QML 中的任何字符串时,该字符串的末尾都会被 chop 。这是我用 QML 编写的基本程序的示例:

import QtQuick 2.0
import QtQuick.Controls 2.4

ApplicationWindow {

    //setup
    id: window
    width: 400
    height: 250
    visible: true

    Button{
        id:toggle
        property bool buttonOn: false

        anchors.fill: parent

        Component.onCompleted: {
            toggle.text = "Activate"
        }

        onClicked: {
            buttonOn =! buttonOn;
            if(buttonOn){
                toggle.text = "Deactivate"
            }else{
                toggle.text = "Activate"
            }
        }
    }

}

然而,运行时,代码看起来是这样的: 1

当我点击按钮时,它看起来像这样: 2

当使用纯 QML 设置时,这似乎不会发生:

text: "Activate"

这也取决于单词的相似程度,例如id我要使用“button off”和“button on”,这不会发生。

我不知道是什么原因造成的,如有任何帮助,我们将不胜感激,在此先感谢。

编辑:

我已经尝试卸载并重新安装 Qt,但它没有任何作用,而且 menuBars 也存在类似的问题,在正确的位置没有显示任何内容。

最佳答案

试试 QtQuick.Controls 2.2 我用那个版本测试过,对我来说工作正常。我也在开发 Debian,我不知道这是否是个问题。

如您所见,我添加了更长的文本,结果就出来了。

Example in Linux

编辑 2 在虚拟 Windows 7 上运行良好。您应该尝试使用其他操作系统或类似的东西 Example on Windows 7

关于javascript - 通过 Javascript 在 Qml 中更改时字符串的末尾被 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53482613/

相关文章:

javascript - 如何在javascript中自动关闭浏览器

c# - 在 C# 中解析 JavaScript 代码

c++ - 如何将 SQLite 嵌入到 C++ 项目中

c++ - WinCE6 上的 QTcpServer->listen() "protocol type not supported"

windows - QML 缩放不适用于非整数缩放因子

javascript - QML 内存泄漏发送 XMLHttpRequest

javascript - 如何在数据表中显示 5 行而不是默认的 10 行?

javascript - jQuery - 选择标签,然后选择带有文本的子标签,然后选择同级标签

c++ - Qt - 有没有办法将图形项转换为像素图?

c++ - QML Button onClicked函数执行顺序