2017-10-21 2 views
0

Ich stehe gerade auf diesem QML-Artikel. Es ist ein einfaches 2x3-Gitter, das auf der linken Seite des Bildschirms zu bleiben scheint. Wenn ich anchors.centerIn: parent anwende, zentriert es das GridView aber ignoriert meine TopMargin-Eigenschaft. Wenn ich hier Hilfe hätte, wäre das sehr zu begrüßen. Ich weiß, dass ich einen leftMargin anwenden kann: dazu ist es aber irgendwie hässlich.Wie kann ich diese GridView in der Mitte meines Fensters erscheinen lassen?

GridView { 

    id: gridView 
    interactive: false 
    clip: true 

    // anchors.centerIn: parent 
    anchors.left: parent.left 
    anchors.top: titleBarContainer.bottom 
    anchors.topMargin: 20 
    anchors.right: parent.right 

    width: 400 
    height: parent.height 

    currentIndex: -1 

    cellWidth: 200 
    cellHeight: 200 

Antwort

0
... 

anchors.top: titleBarContainer.bottom 
anchors.topMargin: 20 
anchors.horizontalCenter: parent.horizontalCenter 

width: 400 
height: parent.height 

... 
+0

Sieht aus wie, dass es tat .. glaube, ich war dumm. Vielen Dank! – Cain

+0

Obwohl ich beachten sollte .. es bleibt weiter links, wenn ich parent.width anstelle von '400' für den Wert der Breite verwende .. weißt du warum? – Cain

+0

Das würde dazu führen, dass das GridView die gesamte Breite des übergeordneten Elements abdeckt, was die horizontale Mittenverankerung bedeutungslos macht. Was innerhalb der GridView passiert, ist, dass sie ihre Elemente beginnend von der oberen linken Ecke aus verteilt. – jpnurmi

Verwandte Themen