- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我阅读了有关以下内容的文档:
focus
property activeFocus
property forceActiveFocus()
method FocusScope
object forceActiveFocus()
方法,而不是将
focus
属性设置为true,反之亦然。
最佳答案
For very simple cases simply setting the focus property is sometimes sufficient.
Item
的
focus: true
没有被可能没有焦点的
FocusScope
包围,那么这种情况很简单。
> Within each focus scope one object may have Item::focus set to true. If more than one Item has the focus property set, the last type to set the focus will have the focus and the others are unset, similar to when there are no focus scopes.
> When a focus scope receives active focus, the contained type with focus set (if any) also gets the active focus. If this type is also a FocusScope, the proxying behavior continues. Both the focus scope and the sub-focused item will have the activeFocus property set.
focus: true
不足以作为
Item
的后继者,那么设置
FocusScope
是必须的,因为此
FocusScope
将需要
activeFocus
su,以使后继
Item
可以接收
activeFocus
。这是递归的,这意味着
FocusScope
将需要具有
focus: true
,并且可能的前身
FocusScope
需要
activeFocus
等等。导致某种焦点树
FocusScope
的内部节点和
Item
的叶子组成。
FocusScope
也可能是一片叶子,但我不知道为什么要这么做。
FocusScope
最多可以有一个子节点(
Item
(叶)或
FocusScope
(内部节点),具有
focus === true
。遍历该树,沿着所有被遍历的节点都具有
focus === true
的路径,被遍历的节点也具有
activeFocus === true
。每个
FocusScope
最多只能有一个带有
focus === true
的子节点,只有一个这样的路径。
Column {
FocusScope {
focus: false
width: 100
height: 100
Text {
focus: true
text: 'has focus ' + focus + '\nhas activeFocus ' + activeFocus
}
}
FocusScope {
focus: true
width: 100
height: 100
Text {
focus: true
text: 'has focus ' + focus + '\nhas activeFocus ' + activeFocus
}
}
}
这里我们有两个
FocusScope
。两者都有一个带有
focus
的子代,但是由于只有第二个
FocusScope
本身具有
focus
,因此它的子代具有
activeFocus
。
forceActiveFocus()
的使用遍历焦点树,并在路上将每个节点的
focus
设置为
true
,因此
Item
的末尾带有
activeFocus
。
关于qt - 在QML中forceActiveFocus()vs focus = true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43487731/
我有这些 QML 行: Item { id:container Rectangle { id:rec1 width:20; height:20; x:2
我是一名优秀的程序员,十分优秀!