Странное поведение с текстом в прямоугольнике - PullRequest
0 голосов
/ 10 июля 2019

У меня проблема с прямоугольником, который должен содержать текст. Текст должен быть определен в прямоугольнике, но он выходит за его пределы.

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Rectangle
    {
        id:listRest
        width: parent.width/2.7
        height: parent.height/2.5
        color: "dimgray"
        anchors.left: parent.left
        anchors.topMargin: Math.round(parent.height)/12
        anchors.margins: Math.round(parent.width)/50

        Text {
            anchors.fill: parent
            anchors.centerIn: parent
            text: qsTr("QML (Qt Modeling Language) is a user interface markup language. It is a declarative language for designing user interface–centric applications.")
        }
    } 
}

Как я могу получить текст только в прямоугольнике?

Ответы [ 2 ]

1 голос
/ 10 июля 2019

По умолчанию Text будет отображать его содержимое как есть. Таким образом, если текст не содержит достаточно новой строки и он слишком длинный, текст будет отображаться за пределами прямоугольника.

Используйте wrapMode: Text.WordWrap, чтобы обернуть текст в границы прямоугольника и elide: Text.ElideRight для удаления текста, если он слишком длинный, чтобы поместиться в прямоугольнике.

0 голосов
/ 11 июля 2019

Использование wrapMode (максимальная ширина)

Или, может быть, простое решение, которое не элегантно, но работает.Используйте «\ n» для новой строки, когда это возможно без других слишком сложных методов, если это только для простой маленькой текстовой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...