ich eine QML Anwendung am Bau und ich habe eine TextInput
Komponente wie folgt:QML textinput wie Auswahl zu handhaben und entkommen
TextInput {
id: editableTextInput
text: styleData.value
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
selectionColor: 'darkgray'
selectedTextColor: 'white'
font.pixelSize: 14
font.family: "AvantGarde-Medium"
onEditingFinished: {
// TO DO: Handle new text
}
MouseArea {
anchors.fill: parent
onClicked: {
editableTextInput.selectAll()
}
}
}
Im Moment, so wie es aussieht, wenn der Benutzer klickt auf den Text, es wählt den ganzen Text aus und dann kann ich anfangen zu tippen und der ganze Text wird ersetzt, aber ich möchte dem Benutzer ein bisschen mehr Kontrolle geben. Zum einen wählt der Benutzer zunächst den vollständigen Text aus und dann, wenn er erneut klickt, sollte er den Cursor an die aktuelle Position bringen. Außerdem sollte der Escape-Schlüssel grundsätzlich den alten Text wiederherstellen und den gesamten Vorgang abbrechen.
Dies sind Standardmethoden für die Texteingabe. Ich habe mich gefragt, ob ich das alles explizit programmieren muss oder gibt es eine Möglichkeit, dieses Verhalten mit dem TextInput
Steuerelement zu bekommen.
Sie haben es codieren anpassen es den Schlüssel qml Modul die wichtigsten Ereignisse zu fangen und die MouseArea die erfassen Klicks. – Cits