Я использую элемент управления флажок в TableView, который я определяю с QML следующим образом:центр чекбокс в 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"
}
}
}
}
Теперь, несмотря на то, что установлены якоря (или любое свойство выравнивания, которые были доступны), флажок остается выровненным влево. Как я могу сосредоточить его по горизонтали в колонке?
К сожалению, это не сработало. Я получаю тот же результат. Добавление 'anchors.fill: parent' завершается с ошибкой Component not ready. – Luca
Возможно, вы не указали весь исходный код. Он работает для меня как шарм. – folibis
Это действительно работает. Я совершенно неправильно понял ... должен был читать лучше. Извиняюсь. – Luca