有一个传感器元素的代码。它就像是其他传感器类型元素的基类:
Rectangle {
property real value: 0
property alias imageWidth: image.width
property alias imageSource: image.source
property alias displayWidth: display.width
width: Math.max(image.width, display.width)
height: image.height + display.height
border.width: 1
Rectangle {
id: display
width: 40
height: 20
border.width: 1
color: "lightgreen"
Text {
anchors.centerIn: parent
text: value
font.pixelSize: parent.width * 0.3;
}
}
Image {
id: image
width: display.width * 0.5
anchors.top: display.bottom
anchors.horizontalCenter: display.horizontalCenter
source: "qrc:/images/temperature.png"
fillMode: Image.PreserveAspectFit
}
}
如果我将传感器放在Column
中,它们就会正确定位。
派生类型的实现 - Pressure
:
Item {
Sensor {
imageSource: "qrc:/images/pressure.png"
imageWidth: displayWidth * 0.4
}
}
但如果我将Pressure
传感器放在Row
或Column
中,则所有传感器都会相互重叠。
Column {
spacing: 10
Pressure {}
Pressure {}
Pressure {}
}
Pressures and Sensors comparison (image)
你能解释一下它有什么问题吗?
答案 0 :(得分:0)
哦,似乎我自己找到了答案。
像Items
这样的派生类中的 Pressure
没有自己的宽度和高度。如果我删除Item
,它可以正常运行:
Sensor {
imageSource: "qrc:/images/pressure.png"
imageWidth: displayWidth * 0.4
}