Hi Gianluca, it's hard to say if it is a bug or not. The problem is anyway related to the sizing of the list, i.e. if you set listHistory.width to
width: parent.width the problem disappears. If you set a similar constraint for the height and set the ListView to the vertical layout the same, odd, behaviour occurs. Instead of using such constraints, what about using a layout to size your three elements? Something involving a RowLayout, for instance, works perfectly. See the modified code below: import QtQuick 2.4 import QtQuick.Window 2.2 import QtQuick.Layouts 1.1 Window { visible: true width: 400 height: 400 RowLayout { anchors.fill: parent Item { id: previous Layout.preferredWidth: parent.width / 3 Layout.fillHeight: true } ListView { id: listHistory Layout.preferredWidth: parent.width / 3 Layout.fillHeight: true clip: true orientation: ListView.Horizontal snapMode: ListView.SnapToItem highlightRangeMode: ListView.StrictlyEnforceRange onCurrentIndexChanged: console.log( "Current Index: "+currentIndex ) model: modelHistory delegate: Item { width: listHistory.width height: listHistory.height Text { width: parent.width anchors.bottom: parent.verticalCenter font.pixelSize: 20 //* mm minimumPixelSize: 10 //* mm fontSizeMode: Text.Fit horizontalAlignment: Text.AlignHCenter text: year } Text { width: parent.width height: parent.height/2-1.5 //* mm anchors.bottom: parent.bottom font.pixelSize: 20 //* mm minimumPixelSize: 10 //* mm fontSizeMode: Text.Fit horizontalAlignment: Text.AlignHCenter wrapMode: Text.Wrap text: what } } } Item { id: next Layout.preferredWidth: parent.width / 3 Layout.fillHeight: true } } } Cheers, F. --- Federico Buti On 6 April 2015 at 11:15, Gianluca <gmax...@gmail.com> wrote: > Dear all, > I’m experiencing a unexpected behavior: > I have a ListView in QML that display data from a ListModel. > The dimension of ListView is set in such a way that only one element > delegate is display at time. > When I configure the ListView to be Vertical, then the first item > displayed is the first item on the ListModel. > But when I configure the ListView to be Horizontal, then the first item > displayed is not the first item on the ListModel … but one in the middle. > Why ?? > Forcing the property currentIndex to 0 do not solve the problem. > Calling positionViewAtBeginning do not solve the problem :-( > > What else I can do ? > > // Code of ListView: > ListView { > id: listHistory > anchors.centerIn: parent > height: parent.height > width: parent.width-previous.width-next.width > clip: true > orientation: ListView.Horizontal > snapMode: ListView.SnapToItem > highlightRangeMode: ListView.StrictlyEnforceRange > onCurrentIndexChanged: console.log( "Current > Index: "+currentIndex ) > model: modelHistory > delegate: Item { > width: listHistory.width > height: listHistory.height > Text { > width: parent.width > anchors.bottom: > parent.verticalCenter > color: "white" > font.pixelSize: 8.5*mm > minimumPixelSize: 4*mm > fontSizeMode: Text.Fit > horizontalAlignment: > Text.AlignHCenter > text: year > } > Text { > color: "white" > width: parent.width > height: parent.height/2-1.5*mm > anchors.bottom: parent.bottom > font.pixelSize: 2.4*mm > minimumPixelSize: 1*mm > fontSizeMode: Text.Fit > horizontalAlignment: > Text.AlignHCenter > wrapMode: Text.Wrap > text: what > } > } > } > > // On the console I get the following message: > qml: Current Index: 0 > qml: Current Index: 19 > > But Who change the current index to 19 ?? > > Thanks, > Gianluca. > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest