在tableview中居中一个复选框



我在TableView中使用一个复选框控件,我用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 }
    }
}

可以在TableView中使用,如下所示:

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"
            }
        }
    }
}

现在,尽管已经设置了锚(或任何可用的对齐属性),复选框仍然向左对齐。我如何将它水平居中到列?

CheckBox包装在委托中,如下所示:

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

另外,不要在同一个应用程序中混合使用QtQuick版本。

相关内容

  • 没有找到相关文章

最新更新