QML Dialog и виртуальная клавиатура

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.VirtualKeyboard 2.1
import QtQuick.VirtualKeyboard.Settings 2.2

Page {
    MouseArea {
        anchors.fill: parent
        onClicked: passw.open()
    }

    Dialog {
        id: passw
        anchors.centerIn: parent
        modal: true

    TextField {
        placeholderText: "Пароль"
        focus: true
        id: psk
        width: parent.width
        inputMethodHints: Qt.ImhDigitsOnly

        onActiveFocusChanged: {
            if(activeFocus) {
                Qt.inputMethod.update(Qt.ImQueryInput)
                // костыль чтоб клавиатура появилась при наличие физической
            }
        }
    }

    }

    InputPanel {
        id: inputPanel
        z: 255
        x: 0
        y: window.height
        width: window.width

        states: State {
            name: "visible"
            when: inputPanel.active
            PropertyChanges {
                target: inputPanel
                y: window.height - inputPanel.height
            }
        }
    }

    Component.onCompleted: {
        VirtualKeyboardSettings.activeLocales = ["en_US","ru_RU"]
        VirtualKeyboardSettings.locale="ru_RU"
    }

}

Так получается что диалог закрывается когда получает фокус панелька клавиатуры. Как сделать чтоб панелька работала как экранная клавиатура? чтоб не забирала фокус у поля ввода?


Ответы (0 шт):