我是 QML 和 QML 信号的新手,我遇到了这个我自己无法解决的愚蠢问题。我正在触发一个onTouch
信号并执行了两次,产生了双重响应,导致我的应用程序崩溃。
这是我的 QML 代码:
//LabelKey.qml
import bb.cascades 1.0 Container { property string labelText: "#" property real width: 153.3 property real height: 102.5 property int labelPosX: 60 property int labelPosY: 25 property int labelTextFontWidth: 45 property string imgSrc: "asset:///images/keyboard_button.png" layout: AbsoluteLayout { } preferredWidth: width preferredHeight: height objectName: "contTecla" id: contTecla ImageView { objectName: "imgTecla" id: imgTecla1 imageSource: imgSrc preferredWidth: width preferredHeight: height onTouch: { textFieldKey.text = textFieldKey.text + labelTecla.text; } } Label { objectName: "labelTecla" id: labelTecla text: labelText textStyle { color: Color.DarkYellow size: labelTextFontWidth } layoutProperties: AbsoluteLayoutProperties { positionX: labelPosX positionY: labelPosY } } }
我有这个TextField
,它的 idtextFieldKey
在另一个 QML 中,其中包括我在上面发布的那个。主要思想很简单,是一个键盘,其中每个键都是上面代码的一个组件,它必须打印在 this 中按下的键的值TextField
。
问题是,正如我所说,信号被调用了两次,TextField
每次都用两个字符填充值。
请帮助我,我不知道我是否以正确的方式使用信号或类似的东西遗漏了一些东西。
谢谢!