如果我有以下代码:
import QtQuick 2.10
import QtQuick.Window 2.10
Window {
id: app
visible: true
width: 640
height: 480
property bool txt: false
Text {
text: app.txt
onTextChanged: { console.debug("Text changed") }
}
}
应用加载后,控制台上会立即显示“文本已更改”,但是如果我将文本手动设置为
Text {
text: "Some text"
onTextChanged: { console.debug("Text changed") }
}
除非在加载应用程序后确实有更改文本的内容,否则我不会在控制台中看到“文本已更改”的显示。
这是正常行为吗?有没有一种方法可以将变量用作文本,但在应用程序加载后不立即激活onTextChanged?
答案 0 :(得分:3)
是的,对于qml来说,这是正常的行为,因为您的第一个文本属性是“” (无),并且当您为其赋予多种 >它从“”更改为app.txt
。如果您手动设置文本,在这种情况下,没有任何更改。