当用户按下Enter键时,我想将焦点从一个字段切换到下一个字段:我将如何处理?
项目按网格排列,如下所示:
Grid {
x: 5
y: 3
rows: 5
columns: 20
spacing: 10
Repeater {
model: 50
TextField {
width: 28
height: 50
color: "green"
text: "0000"
font.pixelSize: 12
validator: IntValidator {
bottom: -256
top: 256
}
}
}
}
答案 0 :(得分:1)
您可以通过使用Key
附加属性来实现:
Grid {
x: 5
y: 3
rows: 5
columns: 20
spacing: 10
Repeater {
id: rpt
model: 50
TextField {
width: 28
height: 50
color: "green"
text: "0000"
font.pixelSize: 12
Keys.onEnterPressed: rpt.itemAt(index + 1).focus = true
validator: IntValidator {
bottom: -256
top: 256
}
}
}
}
答案 1 :(得分:1)
由于TextField
继承自Item
,因此您可以使用nextItemInFocusChain()
使用现有的焦点链。
只需将以下行添加到TextField
:
Keys.onEnterPressed: nextItemInFocusChain().forceActiveFocus()