[Development] ListView + TextEdit tricky behavior
Mitch Curtis
mitch.curtis at digia.com
Tue Sep 30 15:35:43 CEST 2014
On 30/09/14 14:55, Matías Néstor Ares wrote:
> Hi everyone!
> I'm developing an app with Qt, and I'm having some issues.
> I don't get a proper answer from the forums yet.
> So I ask it here, sorry if it is not the correct place.
>
> The problem description is on this post:
> http://qt-project.org/forums/viewthread/47948/
> And a video of the symptom here:
> https://www.youtube.com/watch?v=1sHKnNZLzhs
>
> Thanks In Advance
>
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
A hacky solution is below. It's just to point out that the state (text
input) should be stored outside the delegates, as people are mentioning
- in this case, it's stored in textArray.
import QtQuick 2.2
import QtQuick.Controls 1.2
ApplicationWindow {
id: applicationWindow1
visible: true
width: 200
height: 200
title: qsTr("TextEdit on ListView Test")
property var textArray: {
var a = [];
for (var i = 0; i < listView1.count; ++i) {
a[i] = "";
}
a;
}
ListView {
id: listView1
x: 286
width: 110
boundsBehavior: Flickable.StopAtBounds
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottomMargin: 0
anchors.topMargin: 0
anchors.bottom: parent.bottom
anchors.top: parent.top
clip: true
model: ListModel {
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Red"
colorCode: "red"
text: ""
}
ListElement {
name: "Blue"
colorCode: "blue"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Red"
colorCode: "red"
text: ""
}
ListElement {
name: "Blue"
colorCode: "blue"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
ListElement {
name: "Green"
colorCode: "green"
text: ""
}
ListElement {
name: "Grey"
colorCode: "grey"
text: ""
}
}
delegate: Item {
width: 100
height: 40
Rectangle {
width: 100
height: 40
color: colorCode
TextEdit {
id: textEdit
font.pointSize: 23
anchors.fill: parent
text: textArray[index]
onTextChanged: textArray[index] = textEdit.text
font.bold: true
anchors.verticalCenter: parent.verticalCenter
}
}
}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20140930/c15861ec/attachment.html>
More information about the Development
mailing list