Можно ли индивидуально настроить headerDelegate QView TableView? - PullRequest
0 голосов
/ 16 мая 2018

В QML TableView можно настроить заголовок, используя headerDelegate, но примененный стиль работает для всех столбцов.

Пример:

headerDelegate: Rectangle {
    height: 20
    color: "red"

    Text {
        text: styleData.value
        color: "#FFF"
        width: parent.width
        height: parent.height
        font.pointSize: 18
        minimumPointSize: 3
        fontSizeMode: Text.Fit
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
    }
}

Возможно ли применить стиль по отдельности?Например: в первом столбце синий фон, а во втором столбец красный

Или существует другой способ настройки заголовка?

1 Ответ

0 голосов
/ 16 мая 2018

Возможно, существуют, в частности, более элегантные способы для TableView, но общий подход к настройке делегатов в целом заключается в использовании предоставленной информации.

Для основного варианта использования разных цветов, вы можете просто иметь его:

headerDelegate: Rectangle {
    color: ["red", "blue"][styleData.column % 2]
}

Для более сложных вещей вы можете сделать делегата Loader, который загружается по-разному sourceComponents в зависимости от информации, которую вы имеете для делегата.

...