2016-11-08 6 views
2

ich eine Checkbox Steuerung in einem Tableview verwenden, die ich mit QML wie folgt definieren:Zentrum eine Checkbox in tableview mit QML

import QtQuick 2.2 
import QtQuick.Controls 1.4 
import QtQuick.Controls.Styles 1.4 

TableViewColumn { 
    title: "" 
    role: "check"  
    delegate: CheckBox { 
     anchors.fill: parent 
     checked: false 
     anchors { horizontalCenter: parent.horizontalCenter } 
    } 
} 

ich es in einem Tableview verwenden können, wie folgt:

import QtQuick 2.3 
import QtQuick.Window 2.2 
import QtQuick.Layouts 1.1 

import QtQuick.Controls 1.4 
import QtQuick.Controls.Styles 1.4 

ControlView { 
    visible: true 
    width: parent.width; height: parent.height  
    anchors.centerIn: parent 

    TableView { 
     id: reviewTable 
     width: parent.width; height: parent.height 
     anchors.centerIn: parent 

     TableViewCheckBoxColumn { 
      title: "Upload" 
      width: 100 
      resizable: false 
     } 

     TableViewColumn { 
      resizable: true 
      role: "Dummy" 
      title: "Dummy" 
      width: 250 
     } 

     style: TableViewStyle { 
      headerDelegate: Rectangle { 
       height: textItem.implicitHeight 
       width: textItem.implicitWidth 

       Text { 
        id: textItem 
        anchors.fill: parent 
        verticalAlignment: Text.AlignVCenter 
        text: styleData.value 
        renderType: Text.NativeRendering 
        font.bold: true      
       } 
      } 
     }   

     model: ListModel { 
      ListElement { 
       Dummy: "value 1" 
      } 
      ListElement { 
       Dummy: "value 3" 
      } 
     } 
    } 
} 

Jetzt, obwohl die Anker (oder irgendeine Ausrichtungseigenschaft, die verfügbar waren) gesetzt wurde, bleibt das Kontrollkästchen auf der linken Seite ausgerichtet. Wie kann ich es horizontal zur Säule zentrieren?

Antwort

1

Wickeln Sie die CheckBox in den Delegaten wie folgt:

Item { 
    anchors.fill: parent 
    CheckBox { 
     anchors.centerIn: parent 
     checked: false 

    } 
} 

Und btw, nicht mischen QtQuick Versionen in der gleichen Anwendung.

+0

Leider hat das nicht funktioniert. Ich bekomme die gleiche Ausgabe. Das Hinzufügen von 'anchors.fill: parent 'schlägt mit dem Fehler' Component not ready 'fehl. – Luca

+0

Wahrscheinlich haben Sie nicht den gesamten Quellcode zur Verfügung gestellt. Es funktioniert für mich wie ein Charme – folibis

+0

Es funktioniert tatsächlich. Ich habe es komplett missverstanden ... hätte besser lesen sollen. Entschuldigung. – Luca

Verwandte Themen