TextEdit可以显示多行可编辑的格式化文。默认是无边框的,可以和父控件完美融合。
import QtQuick
import QtQuick.Window
import QtQuick.Controls
Window {
id: win
width: 800
height: 600
visible: true
TextEdit {
id: textEdit
anchors.centerIn: parent
text: "Hello,\nWorld!\nThis is a TextEdit control!"
font.family: "Arial"
font.pixelSize: 20
color: "black"
selectionColor: "blue"
}
}
将 focus
属性设置为 true
可以使 TextEdit
组件接收键盘焦点。当点击或使用键盘导航到 TextEdit
时,焦点会自动移动到该组件,允许开始输入文本。
常用属性:
bottomPadding : real
leftPadding : real
padding : real
rightPadding : real
topPadding : real
设置内容周围内边距的填充。这个空间是除了contentWidth和contenttheight之外保留的
effectiveHorizontalAlignment : enumeration
horizontalAlignment : enumeration
verticalAlignment : enumeration
用于设置文本在 TextEdit
组件宽度和高度内的水平和垂直对齐方式。
horizontalAlignment
属性控制文本的水平对齐方式。
TextEdit.AlignLeft
(默认值):文本左对齐TextEdit.AlignRight
:文本右对齐TextEdit.AlignHCenter
:文本水平居中TextEdit.AlignJustify
:文本两端对齐
verticalAlignment
属性控制文本的垂直对齐方式。
TextEdit.AlignTop
(默认值):文本顶部对齐TextEdit.AlignBottom
:文本底部对齐TextEdit.AlignVCenter
:文本垂直居中
当使用附属性 LayoutMirroring::enabled
来镜像应用程序布局时,文本的水平对齐方式也会被镜像,但horizontalAlignment
属性值保持不变。
tabStopDistance : real
制表位之间的默认距离。默认情况下,tabStopDistance
的值为0,这意味着焦点移动的距离是固定的,通常与文本输入框的宽度或高度有关。但是,您可以通过设置tabStopDistance
属性来自定义焦点移动的距离。
textFormat : enumeration
文本显示的方式。
- extEdit.PlainText (默认): 所有的样式标签都被视为普通文本。例如,如果尝试在
TextEdit
中使用HTML标签或样式,它们将不会按预期显示,而会被视为普通文本。 - TextEdit.AutoText: 通过Qt的
mightBeRichText()
的启发式方法检测。Qt会尝试自动检测文本是否可能是富文本,但具体行为可能依赖于实际内容。 - TextEdit.RichText: 富文本,a subset of HTML 4。这意味着
TextEdit
支持HTML 4中的一部分标签,允许在文本中使用一些基本的样式和格式。 - TextEdit.MarkdownText: CommonMark格式,加上适用于表格和任务列表的GitHub扩展(从5.14版本开始)。这意味着
TextEdit
支持Markdown格式,允许您使用Markdown语法来格式化文本。
textMargin : real
用于指定在 TextEdit
组件中文本周围的边距,单位是像素。这个边距定义了文本与 TextEdit
组件边界之间的空间大小。
wrapMode : enumeration
用于控制文本的换行行为。
- TextEdit.NoWrap(默认值) - 不进行换行。如果文本中没有足够的换行符,那么
implicitWidth
会超过设定的宽度。 - TextEdit.WordWrap - 只在单词边界进行换行。如果一个单词太长,
implicitWidth
会超过设定的宽度。 - TextEdit.WrapAnywhere - 在任何位置进行换行,即使是在单词中间。
- TextEdit.Wrap - 如果可能,换行发生在单词边界;否则,它会在行的适当位置发生,即使是在单词中间。
其他属性可以见上一篇博客中对TextInput的解释。