QML类型说明-KeyNavigation

KeyNavigation

ImportStatement:   import QtQuick 2.2

 

Properties

backtab :Item

down : Item

left : Item

priority :enumeration

right : Item

tab : Item

up : Item

 

DetailedDescription

用户界面一般允许箭头按键的使用,以此来在焦点组件之间导航。KeyNavigation关联属性提供了方便的方式实现这种行为。如当箭头或tab键被按下时,指定组件获得焦点。

下面的例子为2x2的栅格提供导航:

importQtQuick 2.0

 

Grid {

    width: 100; height: 100

    columns: 2

 

    Rectangle {

        id: topLeft

        width: 50; height: 50

        color: focus ? "red" :"lightgray"

        focus: true

 

        KeyNavigation.right: topRight

        KeyNavigation.down: bottomLeft

    }

 

    Rectangle {

        id: topRight

        width: 50; height: 50

        color: focus ? "red" :"lightgray"

 

        KeyNavigation.left: topLeft

        KeyNavigation.down: bottomRight

    }

 

    Rectangle {

        id: bottomLeft

        width: 50; height: 50

        color: focus ? "red" :"lightgray"

 

        KeyNavigation.right: bottomRight

        KeyNavigation.up: topLeft

    }

 

    Rectangle {

        id: bottomRight

        width: 50; height: 50

        color: focus ? "red" :"lightgray"

 

        KeyNavigation.left: bottomLeft

        KeyNavigation.up: topRight

    }

}

通过设置focus为真,左上角组件初始化接受焦点。当按键被按下,焦点将移动到响应的组件。箭头按键被定义在KeyNavigation的left、right、up和down属性中。

注意,如果KeyNavigation关联属性接受箭头或tab按键的按下和释放事件请求,则时间被接收,不会继续传播。

默认情况下,KeyNavigation在属性关联组件后接受按键事件。如果组件接收按键事件,KeyNavigation关联属性将不接受按键的任何事件。设置priority属性为

KeyNavigation.BeforeItem允许按键在组件之前被用于KeyNavigation,而不是组件之后。

如果焦点切换的组件没有设置enabled或visible,将企图滑过这个组件并聚焦到下一个。一个组件的链用同样的KeyNavigation处理是可能的。如果一行的多个组件不是enabled或visible,它们也将被滑过。

KeyNavigation隐式的设置其它方向能返回焦点到组件。因此我们设置左到另一个组件,右键将被另一个组件的KeyNavigation设置成返回这个组件。尽管如此,如果哪个组件的KeyNavigation显示的设置右键,前面的隐式将不会发生。这意味着上面的例子能被写成不为任何组件指定KeyNavigation.right或KeyNavigation.down的方式。

 

PropertyDocumentation

backtab :Item

当Tab或Shift+Tab键被按下时,组件分配焦点到本属性的指定组件。

 

down : Item

当左、右、上或下光标键被按下时,组件分配焦点到本属性的指定组件。

 

left : Item

当左、右、上或下光标键被按下时,组件分配焦点到本属性的指定组件。

 

priority :enumeration

在关联的组件拥有按键处理时,按键在组件之前还是之后被处理。

KeyNavigation.BeforeItem- 在组件按键处理之前处理键盘事件。如果事件被KeyNavigation处理,它将被接收,不会传递到组件。

KeyNavigation.AfterItem(default) - 在组件按键处理之后处理键盘事件。如果组件接收按键事件,它将不会被关联的KeyNavigation处理。

 

right : Item

当左、右、上或下光标键被按下时,组件分配焦点到本属性的指定组件。

 

tab : Item

当Tab或Shift+Tab键被按下时,组件分配焦点到本属性的指定组件。

 

up : Item

当左、右、上或下光标键被按下时,组件分配焦点到本属性的指定组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值