每当我尝试通过 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"
}
}
}
}
然而,运行时,代码看起来是这样的:
当我点击按钮时,它看起来像这样:
当使用纯 QML 设置时,这似乎不会发生:
text: "Activate"
这也取决于单词的相似程度,例如id我要使用“button off”和“button on”,这不会发生。
我不知道是什么原因造成的,如有任何帮助,我们将不胜感激,在此先感谢。
编辑:
我已经尝试卸载并重新安装 Qt,但它没有任何作用,而且 menuBars 也存在类似的问题,在正确的位置没有显示任何内容。
最佳答案
试试 QtQuick.Controls 2.2
我用那个版本测试过,对我来说工作正常。我也在开发 Debian,我不知道这是否是个问题。
如您所见,我添加了更长的文本,结果就出来了。
编辑 2 在虚拟 Windows 7 上运行良好。您应该尝试使用其他操作系统或类似的东西
关于javascript - 通过 Javascript 在 Qml 中更改时字符串的末尾被 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53482613/