gpt4 book ai didi

qt - 使用 QML 在 tableview 中居中一个复选框

转载 作者:行者123 更新时间:2023-12-04 11:08:52 24 4
gpt4 key购买 nike

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

现在,尽管设置了 anchor (或任何可用的对齐属性),但复选框仍然与左侧对齐。我怎样才能将它水平居中到列?

最佳答案

包裹CheckBox在委托(delegate)中如下:

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

}
}

顺便说一句,不要在同一个应用程序中混合 QtQuick 版本。

关于qt - 使用 QML 在 tableview 中居中一个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com