Qt 如何在ListView委托内将焦点设置为TextField?
我的ListView中有一些文本输入字段:Qt 如何在ListView委托内将焦点设置为TextField?,qt,qml,qt5,Qt,Qml,Qt5,我的ListView中有一些文本输入字段: Window { visible: true ListModel { id: textModel ListElement { text: "Bill Smith" } ListElement { text: "John Brown" } ListElement { te
Window {
visible: true
ListModel {
id: textModel
ListElement {
text: "Bill Smith"
}
ListElement {
text: "John Brown"
}
ListElement {
text: "Sam Wise"
}
}
ListView {
width: 180; height: 200
focus: true
model: textModel
delegate: RowLayout{
id: layout
Label {
text: model.text
}
TextField {
text: model.text
}
}
}
}
我想将输入焦点设置为列表中的第一个文本字段。我该怎么做?如果我在ListView中添加
focus:true
,则没有帮助。必须使用以下属性激活文本字段的焦点:
ListView {
id: view
width: 180; height: 200
focus: true
model: textModel
delegate: RowLayout{
id: layout
Label {
text: model.text
}
TextField {
focus: layout.ListView.isCurrentItem
text: model.text
}
}
// Component.onCompleted: view.currentIndex = 0
}
ListView{
id:视图
宽度:180;高度:200
焦点:正确
型号:textModel
代表:行布局{
id:布局
标签{
text:model.text
}
文本字段{
焦点:layout.ListView.isCurrentItem
text:model.text
}
}
//Component.onCompleted:view.currentIndex=0
}
谢谢,此解决方案有效。我尝试了其他解决方案:focus:model.index==0,但它不起作用。我不明白为什么。