【发布时间】:2013-08-26 09:06:54
【问题描述】:
我有一个名为customContextMenu.qml 的自定义控件,它的每一行都有一个图像和标签。我想一起处理对该图像和标签的点击/触摸。我该怎么做?
目前,我在每个包含图像和标签的容器中添加onTouch(),但它不起作用。我在我的main.qml 中使用了customContextMenu 控件。
Container {
id: testPageCustomMBoxContainer
objectName: "testPageCustomMBoxContainer"
background:dropdownBack.imagePaint
attachedObjects: [
ImagePaintDefinition {
id: dropdownBack
repeatPattern: RepeatPattern.Fill
imageSource: "asset:///images/dropdown_bg.png"
}
]
layout: StackLayout {
orientation: LayoutOrientation.TopToBottom
}
maxWidth: 200.0
maxHeight: 180.0
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Top
Container {
id: testPageCustomMBoxRetestContainer
objectName: "testPageCustomMBoxRetestContainer"
preferredWidth:200.0
preferredHeight:90.0
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
leftPadding: 10.0
topPadding: 10.0
bottomPadding: 10.0
rightPadding: 20.0
ImageView {
imageSource: "asset:///images/retest.png"
scalingMethod: ScalingMethod.AspectFit
verticalAlignment: VerticalAlignment.Center
layoutProperties: StackLayoutProperties {
spaceQuota: 1.0
}
}
Label {
text: "Retest"
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
textFormat: TextFormat.Plain
layoutProperties: StackLayoutProperties {
spaceQuota: 3.0
}
}
onTouch: {
var retestPage = retestPage.createObject();
testNavigationPane.push(retestPage);
}
attachedObjects: [
ComponentDefinition {
id:retestPage
source: "main.qml"
}
]
}
Container {
id: testPageCustomMBoxHelpContainer
objectName: "testPageCustomMBoxHelpContainer"
preferredWidth: 200.0
preferredHeight: 90.0
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
leftPadding: 10.0
topPadding: 5.0
bottomPadding: 15.0
rightPadding: 20.0
ImageView {
imageSource: "asset:///images/help.png"
scalingMethod: ScalingMethod.AspectFit
verticalAlignment: VerticalAlignment.Center
layoutProperties: StackLayoutProperties {
spaceQuota: 1.0
}
}
Label {
text: "Help"
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
textFormat: TextFormat.Plain
layoutProperties: StackLayoutProperties {
spaceQuota: 3.0
}
onTouch: {
var helpPage = helpPage.createObject();
testNavigationPane.push(helpPage);
}
attachedObjects: [
ComponentDefinition {
id: helpPage
source: "helpPage.qml"
Page {
paneProperties: NavigationPaneProperties {
backButton: ActionItem {
onTriggered: {
testNavigationPane.pop();
}
}
}
}
}
]
}
}
【问题讨论】:
-
那么什么不起作用?
-
touch 不工作......但它现在工作......但不知何故,页面数量正在创建和打开,而我只将一页附加到 ontouch().. 任何人都可以给我解决方案,为什么要打开这些数量的页面??
标签: c++ qml blackberry-10 blackberry-cascades touch-event