Horizontale Listenansicht innerhalb der vertikalen Listenansicht in qml

8

Ich möchte eine horizontale ListView arbeiten als Delegat für eine andere veritcal listView, ich habe den folgenden Code geschrieben:

%Vor%

Die vertikale Listenansicht scrollt gut, aber die horizontale scrollt nicht. Irgendeine Hilfe? Danke

    
h_kassem 20.10.2011, 07:44
quelle

4 Antworten

6

Ich habe es einmal versucht und es hat nicht funktioniert, die äußere Liste behandelt alle Ereignisse. Die Lösung war, zusätzlich zu den ListViews ein Flickable zu haben und den contentX des horizontalen und contentY der vertikalen Listen zu contentX und contentY des Flickable zu verankern.

Einige semi-vollständige Code, um das Prinzip zu zeigen:

%Vor%     
blakharaz 20.10.2011, 20:31
quelle
3

Ich habe diese Lösung am Simulator ausprobiert und es hat funktioniert.

%Vor%     
sabbour 22.02.2012 10:53
quelle
2

Sie haben eine MouseArea in Ihrer vertikalen Listenansicht, die alle Ereignisse zu Ihrer horizontalen ListView stiehlt. Best Practice in QML besteht darin, alle MouseArea -Komponenten in den Delegaten aufzunehmen.

Verwenden Sie anstelle der indexAt(mouseX,mouseY) -Methode auch die index -Eigenschaft, die allen Delegierten zur Verfügung steht.

Um das Mausereignis aus dem% s MouseArea des Listendelegierten an den MouseArea des list2-Delegaten zu propagieren, verwenden Sie mouse.accepted = false

%Vor%     
Niraj D 23.02.2013 19:29
quelle
0

Sie können die Eigenschaft z verwenden, damit äußere Listen zuerst Mausereignisse behandeln.

%Vor%

Oder noch besser:

%Vor%

Nicht ganz sicher, dass dies jedoch ein zuverlässiger und richtiger Weg ist.

    
sshilovsky 20.10.2014 22:32
quelle

Tags und Links