2017-09-20 1 views
0

Ich habe eine Liste mit 20 Tasten sagen lässt (diese Zahl kann sich dynamisch ändern) in einem listView die ich angezeigt werden soll eine grid einer mit auf swipeView oder gridView. Es sollten nur 6 Schaltflächen gleichzeitig sichtbar sein. Außerdem sollte es möglich sein, die Position von Schaltflächen per Drag & Drop zu tauschen (siehe http://doc.qt.io/qt-5/qtquick-draganddrop-example.html). Falls gridView der richtige Weg ist, ist es möglich, dass es sich wie swipeView verhält, so dass die Schaltflächen nicht an eine beliebige Position verschoben werden können, sondern auf ihrer Spalte verankert werden?QML: Gridview/SwipeView mit Drag & Drop

Antwort

1

Sie möchten vielleicht snapMode einen Versuch geben.

Sie haben die Wahl zwischen:

  • GridView.NoSnap (default) - die Ansicht hält überall im sichtbaren Bereich.
  • GridView.SnapToRow - Die Ansicht wird mit einer Zeile (oder Spalte für den GridView.FlowTopToBottom-Fluss) abgeglichen, die am Anfang der Ansicht ausgerichtet ist.
  • GridView.SnapOneRow - Die Ansicht wird nicht mehr als eine Zeile (oder Spalte für GridView.FlowTopToBottom flow) entfernt von der ersten sichtbaren Zeile zum Zeitpunkt der Maustaste losgelassen. Dieser Modus ist besonders nützlich, um jeweils eine Seite zu verschieben.

Sie müssen sicherstellen, dass die Größe des GridView wirklich Ihre gewünschte Menge an Teilnehmern passt, denn es ist nur dafür sorgen wird, dass das erste Element ausgerichtet ist, nicht, dass es kein Element paritally vorstehende die Aussicht.