矩形文字的奇怪行为

时间:2019-07-10 14:44:14

标签: qt text qml

我对应该包含Text的Rectangle有问题。文本应在定义的Rectangle中,但不能超过它。

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 个答案:

答案 0 :(得分:1)

默认情况下,<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <td id="test"> <ul id="student"> <li id="s1" selected="selected" value="default">Select here</li> </ul> </td> </tr> </table>将按原样显示其内容。因此,如果文本没有包含足够的新行并且太长,则文本将显示在矩形外部。

使用Text将文本包装在矩形的边界中,然后 如果文本太长而无法容纳在矩形中,则wrapMode: Text.WordWrap会将文本移出。

答案 1 :(得分:0)

Using a wrapMode (a max width)

或者一个简单的解决方案,它不是优雅的,但可以工作。如果仅用于简单的小型文本行,则可以使用“ \ n”作为新行,而无需其他过度复杂的方法。