QtCreator 在 属性 赋值中实例化对象时显示 'Build Problems'
QtCreator shows 'Build Problems' when instantiating Object in property-assignment
我想通过另一个 QtObject
的 属性 访问一个 QtObject
。
在这个具体案例中,QtObject
用作各种 Items
.
的模型
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
.
中的两条标记行 (<-*
) 处找到了一些 "Build Problems"
*1:它需要令牌:','
*2:它需要令牌:'}'
QtCreator(4.0.2,Windows)怎么了? 是对还是错?
当我删除 readonly
时,问题消失了,但我希望它是只读的。
对我来说,暴露 running
-属性 就足够了,但是由于 QtObjects 不能有(可视的)子对象,因为它没有默认值 属性,我看不到任何其他方法可以做到这一点。
我在 Creator 4.1.0 中没有看到这一点,所以这可能是一个已修复的错误。
我想通过另一个 QtObject
的 属性 访问一个 QtObject
。
在这个具体案例中,QtObject
用作各种 Items
.
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
.
<-*
) 处找到了一些 "Build Problems"
*1:它需要令牌:','
*2:它需要令牌:'}'
QtCreator(4.0.2,Windows)怎么了? 是对还是错?
当我删除 readonly
时,问题消失了,但我希望它是只读的。
对我来说,暴露 running
-属性 就足够了,但是由于 QtObjects 不能有(可视的)子对象,因为它没有默认值 属性,我看不到任何其他方法可以做到这一点。
我在 Creator 4.1.0 中没有看到这一点,所以这可能是一个已修复的错误。