Ich möchte eine Header-feste Tabelle erstellen. Die Idee, die ich jetzt habe, verwendet zwei ScrollView, eine für den Header (RowLayout), eine für den Körper (GridLayout). Gibt es eine einfache Möglichkeit, diese beiden in horizontaler Richtung zu verknüpfen, so dass ein Scroll, der andere Scroll gleich?Wie macht man zwei in QML verknüpfte Scrollviews?
Antwort
Ich weiß nicht, wie es zu tun mit dem low-performingQtQuick.Controls 1.x
, aber die QtQuick.Controls 2.0
ScrollBar
hat eine Eigenschaft position
.
Also hier ist der Trick, zwei ScrollBar
s, eins für jedes Element zu scrollen, und binden Sie die Position von jedem an die Position zu dem anderen.
ApplicationWindow {
visible: true
width: 300
height: 120
title: qsTr("Hello World")
Column {
anchors.fill: parent
Flickable {
id: flick1
width: parent.width
height: parent.height/2
contentHeight: 2 * height
contentWidth: 2 * width
Item {
anchors.fill: parent
Rectangle {
width: parent.height
height: parent.width
anchors.centerIn: parent
rotation: 90
gradient: Gradient {
GradientStop { position: 1; color: 'black' }
GradientStop { position: 0; color: 'white' }
}
}
}
ScrollBar.horizontal: scrl1
}
Flickable {
id: flick2
width: parent.width
height: parent.height/2
contentHeight: 2 * height
contentWidth: 2 * width
clip: true
Item {
anchors.fill: parent
Rectangle {
width: parent.height
height: parent.width
anchors.centerIn: parent
rotation: 90
gradient: Gradient {
GradientStop { position: 0; color: 'black' }
GradientStop { position: 1; color: 'white' }
}
}
}
ScrollBar.horizontal: scrl2
}
}
ScrollBar {
id: scrl1
orientation: Qt.Horizontal
}
ScrollBar {
id: scrl2
orientation: Qt.Horizontal
}
Binding {
target: scrl2
property: 'position'
value: scrl1.position
}
Binding {
target: scrl1
property: 'position'
value: scrl2.position
}
}
Wie ScrollBar
s fast alles befestigen, die Sie in der Antwort auf diese Frage finden. Ich arbeite nicht mit Layouts
so, ich kann nicht genauer auf sie sein.
Auch wenn es eine neue Version gibt, QtQC 1 sind nicht veraltet AFAIK – GrecKo
Ok, das war ein bisschen polemisch. Aber ich denke, Sie können sagen, es wird empfohlen, sie aus Leistungsgründen nicht zu verwenden? – derM
Ich denke, sie bieten immer noch native Look auf Desktop-Software, wo QQC2 nicht, aber ja QQC2 sind leistungsfähiger, vor allem für Embedded-Plattformen. – GrecKo
- 1. wie man Schleudern eines scrollViews
- 2. Wie macht man zwei Überleitungsfunktionen?
- 3. wie scrollviews in android verwenden
- 4. Android ViewPager mit ScrollViews mit ViewPagers in den ScrollViews
- 5. Wie macht man Highstock mit zwei xAxis?
- 6. Wie kann ich darauf zugreifen, dass die Bewegung eines QML ScrollViews beendet ist?
- 7. Merging zwei verknüpfte Liste
- 8. XCode 7.3 ScrollViews und Navigationscontroller
- 9. Wie man StaticArrayDatabase von zwei Verbindungen in ELKI macht?
- 10. Wie macht man zwei Wege-Datenbindung mit EF in Winforms?
- 11. Wie macht man zwei Spalten mit CSS in einem Block?
- 12. Wie man zwei Recyclerview in einem Layout macht
- 13. Zwei-Wege-Bindung C++ Modell in QML
- 14. Wie man CVS-Coparision über zwei Systeme macht
- 15. Wie man zwei Boxplots im selben Plot macht?
- 16. Bash-Skript: wie man zwei Variablen aus einer Zeichenkette macht?
- 17. Zwei gefaltete Polymorphie ist seltsam, wie man es erweiterbar macht?
- 18. Wie man eine Anfrage an zwei Tabellen mit Kerndaten macht?
- 19. Wie macht man zwei verschiedene Funktionen von dieser PHP-Klasse?
- 20. Wie man Pacmans Charaktere in OpenGL macht
- 21. Android - Wie man Abschnitte in gridview macht?
- 22. Wie macht man UITabbar schwarz?
- 23. Wie teilt man ein RowLayout in zwei gleiche Felder in QML auf?
- 24. Wie man Bildhintergrund transparent macht?
- 25. Wie man zwei Bildknopff Hyperlinks nebeneinander im Vollbildmodus macht?
- 26. Wie man Bookmarklet macht, um zwei Zahlen zu berechnen?
- 27. wie man zwei Auswahlfelder abhängig voneinander odoo 10 macht?
- 28. Wie man Datumsumwandlung macht?
- 29. Wie generiert man statisch verknüpfte ausführbare Dateien?
- 30. Wie Menüpunkte in QML
Was mit dem 'TableView' falsch? – Velkan
@Velkan, hi, ich möchte dies später auf "erste Spalte als Header" erweitern. – Magicloud
btw. Zukünftige Fragen: Es hilft immer, einen Code zur Verfügung zu stellen, mit dem man spielen kann, da es den Arbeitsaufwand für eine Person reduziert, die fähig und sogar bereit ist, eine Antwort zu geben. – derM