qml的focus问题

21 篇文章 0 订阅

这是应用中令人头痛的焦点问题。 如果没有焦点项,键事件就不能被处理,它就不能在一个屏幕中做任何事情——应用程序会挂起!!  

基本上,qml中的基本元素是“item”。 item有两个属性,焦点和活动焦点。 activeFocus是只读的,当将焦点设置为一个项目或不设置焦点时,可以使用focus属性。 注意,当将当前元素的属性焦点设置为false时,系统不能将焦点设置为其他项(哈哈,现在应用程序有机会挂起了!!)。 通常我们只调用element。 专注= true。 此外,有一个有用的方法可以直接设置焦点——forceActiveFocus(),但它通常会被滥用。  

然后,qml有focusScope。 它可以用于布局。 例如,如果您设置了一个focusScope A,那么您可以在其中设置一个默认的焦点元素B。 当A聚焦时,B会自动聚焦。 详细信息请参见http://doc.qt.nokia.com/4.7-snapshot/qdeclarativefocus.html。  

最后,回到我的问题:如何放弃一个元素的焦点? 比如你做了一个组件,它在满足某些条件时就会隐藏。 显然,你不应该也不能调用上层元素来设置焦点。 这里有一个选择来解决它。 在组件中,您可以发出一个信号,并在上层连接该信号。  

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值