我想通過另一個QtObject
的屬性訪問QtObject
。
在這個具體的例子中,QtObject
作爲各種Items
的模型。QtCreator在屬性賦值中實例化對象時顯示「構建問題」
TestObj.qml
QtObject {
id: root
property real position: 0
readonly property NumberAnimation animation: NumberAnimation { // <-*1
target: root
property: 'position' //<-*2
from: 0
to: 1
duration: 10000 * (1 - position)
onRunningChanged: console.log('running', running)
}
}
main.qml
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
Window {
width: 700
height: 700
visible: true
Button {
x: 600 * model.position
y: 400 * model.position
onClicked: model.animation.running = true
}
TestObj {
id: model
}
}
它如預期運行完美無瑕。但是QtCreator在TestObj.qml
的兩條標記行(<-*
)處發現了一些「構建問題」。
* 1:預計令牌: ''
* 2:預計令牌: '}'
什麼用QtCreator回事(4.0.2,Windows)中? 是對還是錯?
當我刪除readonly
時,問題消失,但我希望它是隻讀的。
對我來說,將running
-property暴露出來就足夠了,但由於QtObjects不具有默認屬性,因此我看不到任何其他方式來執行此操作。
哪個版本的Creator?我沒有看到4.1.0。 – Mitch
哦,是的。你是對的:在Windows上是4.0.2。所以它看起來像一個bug,已經被修復了。 – derM