我下载了 Blackberry 10 Cascades 示例代码,并且正在学习 QML。但是,我看到代码周围散布着 , 和 等注释//! [0]
,//! [1]
但//! [2]
没有关于这些注释含义的文档。
这是一个示例,显示了我在说什么(金属探测器示例):
import bb.cascades 1.0
import QtMobility.sensors 1.2
import bb.vibrationController 1.0
Container {
leftPadding: 20
rightPadding: 20
bottomPadding: 20
//! [0]
attachedObjects: [
Magnetometer {
id: metalfinder
// Create various variables to hold values from magnetometer reading
property double baseline: 0
property double magnitude: 0
property double intensity: 0
property double x: 0
property double y: 0
property double z: 0
// Turn on the sensor
active: true
// Keep the sensor active when the app isn't visible or the screen is off (requires app permission in bar-descriptor)
alwaysOn: true
onReadingChanged: { // Called when a magnetometer reading is available
magnitude = Math.sqrt(reading.x * reading.x + reading.y * reading.y + reading.z * reading.z);
if (0 == baseline) {
baseline = magnitude;
}
intensity = ((magnitude - baseline) / magnitude) * 100;
if (intensity > 0) {
vib.start(intensity, 100);
}
x = reading.x;
y = reading.y;
z = reading.z;
}
},
VibrationController {
id: vib
}
]
//! [0]
layout: DockLayout {}
//! [1]
Button {
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
text: qsTr("Zero Out Metal Finder")
onClicked: {
metalfinder.baseline = metalfinder.magnitude
}
}
//! [1]
Container {
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Bottom
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
//! [2]
Label {
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
text: qsTr("X: %1").arg((metalfinder.x * 1000000).toPrecision(5))
textStyle {
base: SystemDefaults.TextStyles.BodyText
color: Color.White
}
}
//! [2]
Label {
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
text: qsTr("Y: %1").arg((metalfinder.y * 1000000).toPrecision(5))
textStyle {
base: SystemDefaults.TextStyles.BodyText
color: Color.White
}
}
Label {
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
text: qsTr("Z: %1").arg((metalfinder.z * 1000000).toPrecision(5))
textStyle {
base: SystemDefaults.TextStyles.BodyText
color: Color.White
}
}
Label {
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
text: qsTr("Mag: %1").arg((metalfinder.magnitude * 1000000).toPrecision(5))
textStyle {
base: SystemDefaults.TextStyles.BodyText
color: Color.White
}
}
}
}