Окно приложения и проблема диалога в QML

Я не могу нажать на VirtualKeyboard если TextField в диалоге и Application Window это базовый класс.

Ниже приведен код:

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
import QtQuick.VirtualKeyboard 2.2

ApplicationWindow {
    id:appwindow
    visible: true
    width: 600
    height: 500
    title: qsTr("Test")

    Button{
        id:button
        text:qsTr("Open")
        onClicked:{
            dialog.visible=true
            dialog.open()
        }
    }

    Dialog{
        id:dialog
        width:200
        height:300
        visible:false
        TextField {
            id: textfield
            color: "#2B2C2E"
        }
    }

    InputPanel {
        id: inputPanel
        z: 89
        anchors.bottom:parent.bottom
        anchors.left: parent.left
        anchors.right: parent.right
        visible: Qt.inputMethod.visible 
    }
}

Не будет проблем, если я изменю ApplicationWindow на Window, это ошибка QT в v5.9.1?

1 ответ

ApplicationWindow предлагает хороший дополнительный слой overlay на который вы можете переписывать все, что должно быть выше остального контента - просто подходящее место для вашего VirtualKeyboard

InputPanel {
    id: inputPanel
    parent: ApplicationWindow.overlay // <-- This will do the trick
    anchors.bottom:parent.bottom
    anchors.left: parent.left
    anchors.right: parent.right
    visible: Qt.inputMethod.visible
}
Другие вопросы по тегам