2016-11-09 61 views
0

我想通過另一個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不具有默認屬性,因此我看不到任何其他方式來執行此操作。

+0

哪個版本的Creator?我沒有看到4.1.0。 – Mitch

+0

哦,是的。你是對的:在Windows上是4.0.2。所以它看起來像一個bug,已經被修復了。 – derM

回答

1

我沒有看到這與造物主4.1.0,所以它可能是它是一個錯誤已被修復。

+0

我會在稍後嘗試。謝謝你的提示! – derM