qml的focus问题

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

基本上,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。  

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

你可能感兴趣的:(C++,QT,链表,数据结构,c++)