查看完整版本: [-- Loader动态加载组件时KeyNavigation异常问题 --]

QTCN开发网 -> Qt QML开发 -> Loader动态加载组件时KeyNavigation异常问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

zjhui2016 2016-12-20 14:43

Loader动态加载组件时KeyNavigation异常问题

下面QML代码,使用键盘TAB键,在控件间导航,第一次能够两个checkbox、两个button间正常导航,但第二次导航时,checkbox2就直接导航到button2了。这是为什么?



// main.qml

import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Dialogs 1.2

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Item {
        anchors.fill: parent
        Column {
            CheckBox {
                id: checkbox1
                text: "checkbox1"
                focus: true
                KeyNavigation.tab: checkbox2
            }
            CheckBox {
                id: checkbox2
                text: "checkbox2"
                focus: true
                KeyNavigation.tab: loadItem
            }
            Loader {
                id: loadItem
                width: 100
                height: 40
                source: "OtherItem.qml"
                focus: true
                KeyNavigation.tab: checkbox1
            }
        }
    }
}

// OtherItem.qml

import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Dialogs 1.2

Item {
    anchors.fill: parent
    Row {
        Button {
            id: button1
            text: "button1"
            focus: true
            KeyNavigation.tab:  button2
            Keys.onReturnPressed: {
                console.log("button1 enter");
            }
        }
        Button {
            id: button2
            text: "button2"
            focus: true

            Keys.onReturnPressed: {
                console.log("button2 enter");
            }
        }
    }
}


查看完整版本: [-- Loader动态加载组件时KeyNavigation异常问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled