import QtQuick 2.0
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.1
import "../../shared" as Examples
Item{
Slider {
x: 0;
y: 0;
id: minSizeSlider;
value: 5.0;
minimumValue: 0.0;
maximumValue: 128.0
onValueChanged: {
if( value < maxSizeSlider.value ) {
console.log("minValue:" + value);
} else {
value = maxSizeSlider.value;
}
}
}
Slider {
x:0;
y:100;
id: maxSizeSlider;
value: 50.0;
minimumValue: 0.0;
maximumValue: 128.0
onValueChanged: {
if( value > minSizeSlider.value ) {
console.log("maxValue:" + value);
} else {
value = minSizeSlider.value;
}
}
}
}
当我跑步时,我收到:
example.qml:54: TypeError: Cannot read property of null
看起来就像这一行:
if( value < maxSizeSlider.value )
是问题,尤其是
maxSizeSlider.value
似乎会导致错误。 该示例按预期工作,唯一的问题是错误输出
答案 0 :(得分:1)
初始化第一个Gridview1.rows.remove(datarow)
时,Slider
会立即触发,因为您设置的值(5.0)与默认值(0)不同。那时,第二个onValueChanged
尚未加载,因此您无法访问其值。
你可以通过排除这种情况来消除错误:
Slider