как выделять TextInput слева при использовании inputmask в qml
Сделал фронт страницы авторизации, авторизация сделана по номеру и коду подтверждения. Проблема заключается в том, что по идее нужно, чтобы текстовое поле выделялось слева а не в том месте куда ты именно кликнул. в обычных текстовых полях без маски всё работает хорошо, но если её создать то происходит то, что я описал. InputMask у меня задаётся с помощью Combobox, выглядит это на данный момент так:
ComboBox
{
editable: false
id: inputСountry
font.pointSize: 16
height: parent.height * 1.2
anchors.centerIn: parent
implicitWidth: parent.width
model: ListModel{
id: inputСountryModel
ListElement{text: "Россия"}
ListElement{text: "Белоруссия"}
}
onCurrentIndexChanged: {
let CountyNumber = new Map();
CountyNumber.set("Россия", "+ 7 (000) 000 00 00");
CountyNumber.set("Белоруссия", "+ 375 (000) 000 00 00");
for ( let Country of CountyNumber){
Country = Array.from(CountyNumber.keys())
switch(inputСountryModel.get(currentIndex).text){
case Country[0]:{inputNumber.inputMask = CountyNumber.get(Country[0]); inputNumber.text=""; break;}
case Country[1]:{inputNumber.inputMask = CountyNumber.get(Country[1]); inputNumber.text=""; break;}
}
}
}
}
И собственно текстовое Поле TextInput, для которого и нужен Combobox который задаёт InputMask из блока кода выше:
Rectangle{
Layout.alignment: Qt.AlignHCenter
id: backgrOfNumber
implicitWidth: parent.width *0.99
height: 60
color: "#ffffff"
radius: 4
clip: true
TextInput
{
id: inputNumber
color: "#000000"
font.pointSize: 20
anchors.centerIn: parent
anchors.fill: parent
verticalAlignment: Text.AlignVCenter
anchors.left: parent
anchors.leftMargin: 10
inputMethodHints: Qt.ImhFormattedNumbersOnly
}
}
Чтобы решить проблему пробовал использовать сигнал (вернее его обработчик) onTextEdited и методы selectAll(), moveCursorSelection, selectionStart, не исключаю, что при чтении документации я не правильно понял как работает сигнал TextEdited. Думал сделать вместо маски Label для TextInput, но прикинул, что post запрос в таком случае скорее всего выйдет сильно нагруженным, по этому решил отказаться от этой мысли, да и костыльно это очень как-то.