在QML中如何将复选框居中于表视图中。

5

我正在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"
            }
        }
    }
}

尽管设置了锚点(或可用的任何对齐属性),复选框仍然与左侧对齐。我怎样可以使其水平居中于该列?

1个回答

4
CheckBox包装在委托中,如下所示:
Item {
    anchors.fill: parent
    CheckBox {
        anchors.centerIn: parent
        checked: false

    }
}

顺便提醒一下,在同一个应用程序中不要混用不同版本的QtQuick。

不幸的是,这并没有起作用。我得到了相同的输出。添加anchors.fill: parent会导致组件未准备好的错误。 - Luca
可能你没有提供所有的源代码。对我来说,它运行得非常好。 - folibis
它确实有效。我完全误解了...应该更好地阅读。抱歉。 - Luca

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接