Я пытаюсь установить 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
}
}
}