本页内容

TextArea QML Type

多行文本输入区域。更多...

Import Statement: import QtQuick.Controls
Inherits:

TextEdit

属性

关联属性

信号

  • pressAndHold(MouseEvent event)
  • pressed(MouseEvent event) (since QtQuick.Controls 2.1 (Qt 5.8))
  • released(MouseEvent event) (since QtQuick.Controls 2.1 (Qt 5.8))

详细说明

TextArea 是一个多行文本编辑器。TextArea 继承自TextEdit ,并具备placeholder text 功能,同时增加了装饰效果。

用于多行文本输入的文本输入框

TextArea {
    placeholderText: qsTr("Enter description")
}

TextArea 本身不可滚动。特别是在屏幕尺寸受限的平台上,通常更倾向于让整个应用程序页面支持滚动。在这样的可滚动页面上,不可滚动的 TextArea 可能比嵌套的可滚动控件表现更好。 但请注意,在此种情况下,TextArea 的背景装饰会随其余可滚动内容一同滚动。

可滚动 TextArea

若要使 TextArea 支持滚动(例如当其覆盖整个应用程序页面时),可将其放置在ScrollView 中。

带有滚动条的可滚动文本区域

ScrollView {
    id: view
    anchors.fill: parent

    TextArea {
        text: "TextArea\n...\n...\n...\n...\n...\n...\n"
    }
}

置于ScrollView 内的TextArea会执行以下操作:

  • 自动设置内容大小
  • 确保背景装饰保持原位
  • 裁剪内容

Tab 焦点

默认情况下,当 TextArea 具有active focus 时,按下 Tab 键会将一个制表符输入到控件本身中。若要使 Tab 键将活动焦点传递给另一个控件,请使用附带的KeyNavigation 属性:

TextField {
    id: textField
}

TextArea {
    KeyNavigation.priority: KeyNavigation.BeforeItem
    KeyNavigation.tab: textField
}

另请参阅 TextField 、自定义TextArea以及输入控件。

属性文档

background : Item

该属性用于存储背景项。

注意:如果 未显式指定背景项的大小,它将自动采用控件的大小。在大多数情况下,无需为背景项指定宽度或高度。

注意:大多数 控件会使用背景项的隐式大小来计算控件本身的隐式大小。如果您将背景项替换为自定义项,还应考虑为其提供一个合理的隐式大小(除非该项是Image 这类具有自身隐式大小的控件)。

另请参阅 “自定义 TextArea”。

bottomInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

该属性用于设置背景的底部内距。

该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。

另请参阅 Control Layout 和topInset 。

focusReason : enumeration

该属性存储了上次焦点变化的原因。

注意:该 属性并不表示该项是否具有active focus ,而是表示该项获得或失去焦点的具体原因。

常量描述
Qt.MouseFocusReason发生了鼠标操作。
Qt.TabFocusReason按下了 Tab 键。
Qt.BacktabFocusReason发生了“后退 Tab”操作。此操作的输入可能包括 Shift 或 Control 键;例如 Shift+Tab。
Qt.ActiveWindowFocusReason窗口系统将此窗口设为活动或非活动状态。
Qt.PopupFocusReason应用程序打开/关闭了一个弹出窗口,该窗口抓取/释放了键盘焦点。
Qt.ShortcutFocusReason用户输入了标签的“伙伴”快捷键
Qt.MenuBarFocusReason菜单栏获得了焦点。
Qt.OtherFocusReason其他原因,通常与具体应用程序相关。

注意:建议优先使用 `QtQuick.Controls::Control::focusReason ` 而不是此属性。

hoverEnabled : bool [since QtQuick.Controls 2.1 (Qt 5.8)]

该属性用于确定文本区域是否接受悬停事件。默认值为true 。

该属性在 QtQuick.Controls 2.1(Qt 5.8)中引入。

另请参阅 ` hovered`。

hovered : bool [read-only, since QtQuick.Controls 2.1 (Qt 5.8)]

该属性用于表示文本区域是否处于悬停状态。

该属性在 QtQuick.Controls 2.1(Qt 5.8)中引入。

另请参阅 hoverEnabled 。

implicitBackgroundHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

该属性存储隐含的背景高度。

其值等于background ? background.implicitHeight : 0 。

该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。

另请参阅 implicitBackgroundWidth 。

implicitBackgroundWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

该属性存储隐式背景宽度。

其值等于background ? background.implicitWidth : 0 。

该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。

另请参阅 implicitBackgroundHeight 。

leftInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

该属性用于设置背景的左内边距。

该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。

另请参阅 Control Layout 和rightInset 。

placeholderText : string

该属性存储了在用户输入值之前显示在文本区域中的简短提示。

placeholderTextColor : color [since QtQuick.Controls 2.5 (Qt 5.12)]

该属性存储placeholderText 的颜色。

该属性是在 QtQuick.Controls 2.5(Qt 5.12)中引入的。

另请参阅 placeholderText 。

rightInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

该属性存储背景的右内距。

该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。

另请参阅 Control Layout 和leftInset 。

topInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

该属性用于设置背景的顶部内边距。

该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。

另请参阅 Control Layout 和bottomInset 。

附加属性文档

TextArea.flickable : TextArea [attached]

此属性将一个文本区域附加到Flickable 上。

另请参阅 ScrollBar 、ScrollIndicator 以及Scrollable TextArea 。

Signal 文档

pressAndHold(MouseEvent event)

当发生长按操作时(延迟时间取决于平台插件),会发出此信号。event 参数提供了有关按压操作的信息,包括按压点的x和y坐标,以及被按下的按钮。

注意: 相应的处理程序 是 `onPressAndHold`。

另请参阅 pressed 和released 。

[since QtQuick.Controls 2.1 (Qt 5.8)] pressed(MouseEvent event)

当用户点击文本区域时,会触发此信号。event 参数提供了有关点击操作的信息,包括点击的 x 和 y 坐标,以及被点击的按钮。

注意: 相应的处理函数 为onPressed 。

该信号在 QtQuick.Controls 2.1(Qt 5.8)中引入。

另请参阅 released 和pressAndHold 。

[since QtQuick.Controls 2.1 (Qt 5.8)] released(MouseEvent event)

当用户松开文本区域时,会触发此信号。event 参数提供了有关松开操作的信息,包括点击点的 x 和 y 坐标,以及按下的按钮。

注意: 相应的处理函数 为onReleased 。

该信号在 QtQuick.Controls 2.1(Qt 5.8)中引入。

另请参阅 pressed 和pressAndHold 。

© 2026 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.