2

FocusScope 是否仅适用于子元素的“焦点”属性,或者它是否也考虑了大子元素的“焦点”属性。

即在下面的代码中,由于 Rectangle 元素不是 FocusScope 的直接子元素,在设置焦点时是否会考虑在内。

import QtQuick 1.1

FocusScope {
    width: 100
    height: 66
    Row {
        Rectangle {
            width: 100
            height: 62
            focus: true
            color: "red"
            Keys.onPressed: {
                console.log("hello")    
            }
        }
    }
}

根据程序的输出,看起来 FocusScope 在设置焦点时考虑了 Rectangle 元素。此功能未记录在案。

来自http://qt-project.org/doc/qt-4.8/qdeclarativefocus.html#qmlfocus Qt docs “在每个焦点范围内,一个元素可能会将 Item::focus 设置为 true。如果多个 Item 具有焦点属性set,设置焦点的最后一个元素将具有焦点,其他元素未设置,类似于没有焦点范围的情况。"

目前尚不清楚 FocusScope 是否考虑了孙子(childrens of children)的“焦点”属性。

4

1 回答 1

4

该属性告诉当获得focus时哪个项目将成为焦点,你不应该有超过一个项目,但不管项目嵌套多深,总有一个只有一个焦点“结束”项目,如果焦点项目不使​​用,他所有的父母都可以收到关键事件。FocusScopeactiveFocusfocus: true;FocusScope

于 2013-03-27T20:51:46.900 回答