我有一个带有边框和TextInput
(基本上是一个标准的文本框)的QML组件(或类似的东西,只是一个文件,其根目录为root)。
import QtQuick 2.7
Item {
id: textBox
clip: true
property alias inputText: inputText.text
property alias mode: inputText.echoMode
property color borderColor: "gray"
property int borderWidth: 1
Rectangle {
id: rectInput
anchors.fill: parent
border.color: borderColor
border.width: borderWidth
radius: 4
}
TextInput {
id: inputText
anchors.fill: parent
anchors.leftMargin: 3
verticalAlignment: Text.AlignVCenter
selectByMouse: true
}
}
我有一个包含两个组成部分的表格。
GridLayout {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
width: 400
columns: 2
rowSpacing: 10
Text {
id: textName
clip: true
text: "Name: "
}
TextBox {
id: tboxName
Layout.fillWidth: true
height: 30
KeyNavigation.tab: tboxPassword
}
Text {
id: textPassword
clip: true
text: "Password: "
}
TextBox {
id: tboxPassword
Layout.fillWidth: true
height: 30
mode: TextInput.Password
}
...
}
如何在它们之间进行标签导航?我尝试添加KeyNavigation.tab
,但没有效果。
请问QML / Qt Quick真的在可交互组件之间没有默认的选项卡处理吗?因此,我们必须始终手动指定选项卡吗?
答案 0 :(得分:1)
问题是获得焦点的对象是TextBox
,这是一个不知道如何处理它的项目,因此我们必须激活activeFocusOnTab
属性并使用{{1 }}:
onActiveFocusChanged