QML, как установить размер шрифта заголовка списка в постоянное значение - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь установить header из ListView в согласованные font размеры. Учитывая, что мне также нужно, чтобы он автоматически увеличивался в зависимости от height и width контейнера, как я могу получить красивый header ряд? То, что я уже пробовал, это ниже. Один из способов решения этой проблемы состоит в том, чтобы не устанавливать ширину каждого Text одинаково и назначать разные preferredWidth каждому на основе длины строки. НО, что если моя строка загружается динамически, и я не знаю, какой длины будет моя строка. Что является хорошим способом достижения хорошо выглядящего заголовка вместо того, который у меня есть. Спасибо.

import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Layouts 1.2

Window {
    visible: true
    width: 400
    height: 200

    RowLayout {
        anchors.fill: parent
        Text {
            text: qsTr("Short")
            Layout.fillHeight: true
            Layout.fillWidth: true
            Layout.preferredWidth: 1
            fontSizeMode: Text.HorizontalFit | Text.VerticalFit
            verticalAlignment: Text.AlignVCenter
            horizontalAlignment: Text.AlignHCenter
            minimumPointSize: 12
            font.pointSize: 40

        }
        Text {
            text: qsTr("Medium String")
            Layout.fillHeight: true
            Layout.fillWidth: true
            Layout.preferredWidth: 1
            fontSizeMode: Text.HorizontalFit | Text.VerticalFit
            verticalAlignment: Text.AlignVCenter
            horizontalAlignment: Text.AlignHCenter
            minimumPointSize: 12
            font.pointSize: 40
        }
        Text {
            text: qsTr("A much longer String")
            Layout.fillHeight: true
            Layout.fillWidth: true
            Layout.preferredWidth: 1
            fontSizeMode: Text.HorizontalFit | Text.VerticalFit
            verticalAlignment: Text.AlignVCenter
            horizontalAlignment: Text.AlignHCenter
            minimumPointSize: 12
            font.pointSize: 40
        }
        Text {
            text: qsTr("An absurdly and unecessary long String!!")
            Layout.fillHeight: true
            Layout.fillWidth: true
            Layout.preferredWidth: 1
            fontSizeMode: Text.HorizontalFit | Text.VerticalFit
            verticalAlignment: Text.AlignVCenter
            horizontalAlignment: Text.AlignHCenter
            minimumPointSize: 12
            font.pointSize: 40
        }
    }

}

enter image description here

...