Dmi*_*try 6 qt qml qt-quick qt5 qtquick2
如何timeout
在Qt5 QML Quick 2.0中读取位于Loader对象内的属性?
import QtQuick 2.0
Rectangle {
width: 100
height: 100
color: "black"
property Component comp1 : Component {
Rectangle {
id: abc
property int timeout: 5000
width: 10; height: 10;
color: "red"
}
}
Loader {
id: loader
sourceComponent: comp1
}
Component.onCompleted: console.log( "timeout: " + loader.item.abc.timeout )
}
Run Code Online (Sandbox Code Playgroud)
TypeError:无法读取undefined的属性'timeout'
您的代码中存在一些问题,即:
1) 您没有id
为组件对象分配标识符。
2)您试图继承Component
一个在这个简单代码中不必要的属性。
3) 您没有item
正确使用该Loader
元素的属性。
4)您指的是属性名称而不是id
组件的名称。这又回到了不必要的继承。
根据官方文档,你应该这样做:
import QtQuick 2.0
Rectangle {
width: 100
height: 100
color: "black"
Component {
id: comp1
Rectangle {
id: abc
property int timeout: 5000
width: 10; height: 10;
color: "red"
}
}
Loader {
id: loader
sourceComponent: comp1
}
Component.onCompleted: console.log( "timeout: " + loader.item.timeout )
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2331 次 |
最近记录: |