我是QML的新手,我在ListView
和TextInput
类型中遇到问题。
我正在尝试创建ListView
delegate
包含TextInput
的{{1}}。我能够正确设置ListView
的当前选择项,但包含的TextInput
没有得到焦点,即光标没有定位在它上面。这是我目前的代码:
import QtQuick 1.1
Item{
width:360
height:360
Rectangle{
id:title
//bottom: parent.bottom
// anchors.
anchors.top:parent.top
height: 40
width: 360
border.width: 2
color: "grey"
Text {
id: txt
//bottom: parent.bottom
height: title.height
width:title.width
text:"This is the List View"
anchors.centerIn: parent
}
}
Component{
id:comp
Item{
id:rect
width: 100
height: 50
Column{
anchors.centerIn: parent
TextInput{
x:1
id:textinputid1
focus: true
anchors.top: parent.top
cursorPosition: 0
font.pixelSize: 12
text:"hello"
}
}
}
}
Rectangle{
id:listrect
width: parent.width
height: parent.height - 50
x: 30
anchors.top: title.bottom
ListView{
id:list
anchors.top: title.bottom
width: parent.width
height: parent.height - 20
focus: true
model: mymodel
delegate: comp
highlight: Rectangle{color: "green";radius: 5}
}
}
ListModel{
id:mymodel
ListElement{
name:"Chan"
}
ListElement{
//name:"Chan2"
}
ListElement{
//name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
ListElement{
name:"Chan3"
}
}
}
答案 0 :(得分:0)
为什么不能使用QtQuick.2
?另外,下次请在粘贴之前格式化您的代码。删除注释代码,不必要的空行和空格。仅发布与问题相关的代码。
至于你的问题,试试这个:
Component{
id:comp
Item{
id:rect
property int currentIndex: index // store item index
Column{
TextInput {
//focus: true // not needed
onFocusChanged: {
if(focus)
list.currentIndex = rect.currentIndex; // set list current index when TextInput focused
}
}
}
}
}