У меня есть следующее TextField
в качестве поля ввода, которое связано с виртуальной клавиатурой.
TextField {
id: inputField
color: buttonActive ? Style.buttonColorTextOn : Style.buttonColorTextOff
text: "100"
topPadding: 8
anchors.left: parent.left
anchors.leftMargin: 8
anchors.right: icon.left
anchors.rightMargin: 8
anchors.top: parent.top
anchors.topMargin: 6
anchors.bottom: parent.bottom
anchors.bottomMargin: 6
inputMethodHints: Qt.ImhDigitsOnly
validator: IntValidator { bottom:lowestInput; top: highestInput}
selectionColor: Style.textSelectionBg
selectedTextColor: Style.fontcolor1
font.family: stdFont.name
horizontalAlignment: TextField.AlignRight
verticalAlignment: TextField.AlignVCenter
font.pixelSize: Style.highlightedFontSize
leftPadding: 3
rightPadding: 3
TextMetrics{
id: textMetrics
text: inputField.text
font.family: stdFont.name
font.pixelSize: Style.highlightedFontSize
}
background: Rectangle
{
color: buttonActive ? Style.buttonColorOn : Style.buttonColorOff
border.color: buttonActive ? Style.buttonColorTextOn : Style.buttonColorTextOff
border.width: 1
Rectangle
{
id: inputFieldColor
color: buttonActive ? Style.buttonColorOn : Style.buttonColorOff
anchors.top: parent.top
anchors.topMargin: inputField.topPadding - 1
anchors.right: parent.right
anchors.rightMargin: inputField.rightPadding - 1
width: textMetrics.width + inputField.rightPadding
height: textMetrics.height
}
}
}
Эта клавиатура выглядит следующим образом.
Здесь клавиша отмены построена следующим образом в пользовательской раскладке клавиатуры.
Key {
key: Qt.Key_Cancel
text: "cancel"
}
У меня вопрос, как мне отловить нажатие кнопки отмены на виртуальной клавиатуре? Я хотел бы поймать что-то в слоте onKeyCancelPressed и, возможно, отменить изменения, внесенные в текстовое поле, перед нажатием кнопки отмены.
Спасибо.