用例 - 在 QML 中显示文本

显示和格式化文本

要在 QML 中显示文本,可创建一个文本项,并将文本属性设为你想显示的文本。现在,文本项将显示该文本。

可在 Text 项上设置几个属性,以风格化整个文本块。这些属性包括颜色、字体家族、字体大小、粗体和斜体。有关属性的完整列表,请查阅Text 类型文档。

富文本(如标记)可用于选择性地为文本项中的特定文本部分设计样式。将Text::textFormat 设置为 Text.StyledText 可使用此功能。更多详情,请参阅Text 类型的文档。

布局文本

默认情况下,除非文本包含内嵌换行符,否则文本将以单行显示。要换行,请设置 wrapMode 属性,并为文本指定一个明确的宽度。如果没有明确设置宽度或高度,读取这些属性将返回文本边界矩形的参数(如果明确设置了宽度或高度,仍可使用 paintedWidth 和 paintedHeight)。有了这些参数,文本就可以像其他项目一样进行定位。

示例代码

import QtQuick

Item {
    id: root
    width: 480
    height: 320

    Rectangle {
        color: "#272822"
        width: 480
        height: 320
    }

    Column {
        spacing: 20

        Text {
            text: 'I am the very model of a modern major general!'

            // color can be set on the entire element with this property
            color: "yellow"

        }

        Text {
            // For text to wrap, a width has to be explicitly provided
            width: root.width

            // This setting makes the text wrap at word boundaries when it goes
            // past the width of the Text object
            wrapMode: Text.WordWrap

            // You can use \ to escape quotation marks, or to add new lines (\n).
            //  Use \\ to get a \ in the string
            text: 'I am the very model of a modern major general. I\'ve information \
                  vegetable, animal and mineral. I know the kings of england and I \
                  quote the fights historical; from Marathon to Waterloo in order categorical.'

            // color can be set on the entire element with this property
            color: "white"

        }

        Text {
            text: 'I am the very model of a modern major general!'

            // color can be set on the entire element with this property
            color: "yellow"

            // font properties can be set effciently on the whole string at once
            font { family: 'Courier'; pixelSize: 20; italic: true; capitalization: Font.SmallCaps }

        }

        Text {
            // HTML like markup can also be used
            text: '<font color="white">I am the <b>very</b> model of a modern <i>major general</i>!</font>'

            // This could also be written font { pointSize: 14 }. Both syntaxes are valid.
            font.pointSize: 14

            // StyledText format supports fewer tags, but is more efficient than RichText
            textFormat: Text.StyledText
        }
    }
}

国际化和可扩展性

在处理文本时,应用程序必须考虑到各种问题,如设备的方向和语言设置。

下文将详细介绍这些不同的主题。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.