[英]QML Gridview with InputText
我需要在每行上都帶有InputText的Listview。 用例是一個購物車,其中每行可以更改數量。
使用以下代碼,Listview呈現帶有一個標簽和一個文本框的旁邊。
問題是,所有文本框都將具有相同的ID,因此,所有文本框值都將根據上一次更改的文本框值進行更改。 例如:如果我為第一項輸入10,為第二項輸入12,則即使第一項的數量也變為12。
is only for demonstration. 僅用於演示。 going forward: 將來可能是 :
ListView {
id:list
model: fruitModel
x:10
y:10
width: parent.width-20
height: parent.height-20
clip:true
anchors.fill: parent
delegate: Row {
width: parent.width
height:30
Item
{
property variant myData: model
property alias value: text.text
Text {
id:text
width: parent.width
height: 30
text:name
}
InputText {
id: inp_box
text:qty
width:100
height:22
anchors.verticalCenterOffset: 15
anchors.horizontalCenterOffset:250
focus: true
onEnter: {
editQty(inp_box.text);
}
}
}
}
focus: true
snapMode: ListView.SnapOneItem
ScrollBar {
flickable: list
vertical: true
hideScrollBarsWhenStopped:false
}
}
您應該擴展editQty
函數,以將fruitModel
中已編輯條目的索引作為附加參數。 當前條目的索引在列表視圖的委托中作為index
。 用這種方式, editQty
沒有機會知道要更改哪個條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.