我需要在 Cascades Qml 中创建自定义 UI 元素,例如按钮和带有图像背景的列表,但是似乎没有办法设置按钮等控件的背景。
我在任何地方都找不到这样的例子。
似乎可以通过使用容器并创建自定义控件来实现这一点,但我看不到让该容器具有 onClick 事件的方法。
我需要在 Cascades Qml 中创建自定义 UI 元素,例如按钮和带有图像背景的列表,但是似乎没有办法设置按钮等控件的背景。
我在任何地方都找不到这样的例子。
似乎可以通过使用容器并创建自定义控件来实现这一点,但我看不到让该容器具有 onClick 事件的方法。
在BB10中自定义控制其实很简单。这是您尝试执行的操作的示例:
Container {
property alias text: label.text
property alias image: imagev.imageSource
ImageView {
id: imagev
imageSource: "asset:///images/Button1.png"
}
Label {
id: label
text: "demo"
}
gestureHandlers: [
TapHandler {
onTapped: {
//do tapped code
}
},
LongPressHandler {
onLongPressed: {
//do long press code
}
}
]
}
将其保存为“CustomButton.qml”,然后在您的主 QML 文件中,您可以像这样访问它:
Page {
CustomButton {
text: "my text"
image: "images/myimage.png"
}
}
您可以通过使用MouseArea元素来做到这一点:
Item {
Image {
anchors.fill: parent
source: "yourimg.png"
}
MouseArea {
anchors.fill: parent
onClicked: {
console.log("do your action here!")
}
}
}
如果您将此代码放在单独的 QML 文件中,例如 CustomButton.qml。您可以在其他 QML 文件中使用它,例如自定义按钮元素:
CustomButton {
}
您可以在此处阅读有关此内容的更多信息。