【Qt QML】TextEdit

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的解释。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_君莫笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值