【Qt QML 入门】TextEdit

TextEdit可以显示多行可编辑的格式化文。默认是无边框的,可以和父控件完美融合。

import QtQuick
import QtQuick.Window
import QtQuick.ControlsWindow {id: winwidth: 800height: 600visible: trueTextEdit {id: textEditanchors.centerIn: parenttext: "Hello,\nWorld!\nThis is a TextEdit control!"font.family: "Arial"font.pixelSize: 20color: "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的解释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发编程中常见的设计模式

文章目录 一、 终止线程的设计模式1. 简介2. Tow-phase Termination(两阶段终止模式)—优雅的停止线程 二、避免共享的设计模式1. 简介2. Immutability模式—想破坏也破坏不了3. Copy-on-Write模式4. Thread-Specific Storage模式—没有共享就没有伤害 三…

八大排序——快速排序(霍尔 | 挖空 | 前后指针 | 非递归)

我们今天来讲讲八大排序中的快速排序,快速排序最明显的特点就是排序快,时间复杂度是O(N* logN),但是坏处就是如果排序的是一个逆序的数组的时候,时间复杂度是O(N^2),还不用我们的插入…

被带偏的中国云计算,重归正途

文 | 智能相对论 作者 | 叶远风 阿里云战略聚焦公共云,对整个云计算市场而言都是一场自我审视。 从市场背景、行业发展、中外对比等多个方面,业界舆论给出了大量详实的数据分析,已经对阿里云为什么要聚焦公共云有了结论,这里不…

会 C# 应该怎么学习 C++?

会 C# 应该怎么学习 C? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家!!&a…

云渲染技术下的虚拟现实:技术探索与革新思考

虚拟现实(含增强现实、混合现实)是新一代信息技术的重要前沿方向,是数字经济的重大前瞻领域,将深刻改变人类的生产生活方式,产业发展战略窗口期已然形成。但是虚拟现实想要深入改变影响我们的生活,以下技术…

数据结构和算法-最小生成树(prim和krusakal)和最短路径问题(BFS和dijkastra和floyd)

文章目录 最小生成树总览生成树广度优先生成树深度优先生成树最小生成树Prim算法Kruskal算法Prim vs KrusakalPrim的实现Kruskal的实现 小结 最短路径问题单源最短路径问题BFS求无权图的单源最短路径小结Dijkastra算法算法时间复杂度不适用情况 每一对顶点的最短路径问题Floyd算…

SQL Server 远程连接服务器数据库

本文解决sql server的远程连接问题。需要开启防火墙,开启端口,并处理权限不足的报错: 【use 某数据库】The server principal "[server]" is not able to access the database "[database]" under the current security context. 【…

探秘 AJAX:让网页变得更智能的异步技术(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

低代码发展现状调研和思考

低代码开发是近年来迅速崛起的软件开发方法,让编写应用程序变得更快、更简单。有人说它是美味的膳食,让开发过程高效而满足,但也有人质疑它是垃圾食品,缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢,…

C++初学者使用Dev-C++5.11必备的小技巧

一、安装的软件是英文怎么办?陈老师来帮你解决! 步骤1:打开软件,不用我交了吧,看见一个单词长的像 Tools,看见了吧 步骤2:对,找到那个红色框子框起来的单词,最长的那个 步骤3:对,继续选择红色框子里的简体中文/Chinese,不是下面那个,注意,不要选错哟 步骤4:点击…

MySQL | 往数据库中插入时间时,差了八个小时(时区设置)

一:问题 在往数据库中插入(读取)时间的时候,会相差八个小时,这是常见的问题,原因是因为时区设置的问题 二:知识点 UTC:Coordinated Universal Time 协调世界时。 GMT:…

C++ 报错 error invalid types ‘int[int]‘ for array subscript 原因及解决方案

一般是数组的问题,目前总结出3种可能: 1、数组变量名不一致,或者没定义。比如你定义了一个ans数组,但是你在用的时候误写成了a数组(oj应该爆CE) 2、数组空间不够,访问越界。比如你要访问a[6]&a…

Unity 控制刚体的移动与旋转的方法

在场景创建一个Cube,并添加刚体,如图: 编写脚本: using System.Collections; using System.Collections.Generic; using UnityEngine;[RequireComponent(typeof(Rigidbody))] public class RibRotate : MonoBehaviour {//private Vector3 mo…

使用LM Studio在本地运行LLM完整教程

GPT-4被普遍认为是最好的生成式AI聊天机器人,但开源模型一直在变得越来越好,并且通过微调在某些特定领域是可以超过GPT4的。在开源类别中出于以下的原因,你可能会考虑过在本地计算机上本地运行LLM : 脱机:不需要互联网连接。模型…

nginx_rtmp_module 之 ngx_rtmp_mp4_module 的mp4源码分析

一:整体代码函数预览 static ngx_int_t ngx_rtmp_mp4_postconfiguration(ngx_conf_t *cf) {ngx_rtmp_play_main_conf_t *pmcf;ngx_rtmp_play_fmt_t **pfmt, *fmt;pmcf ngx_rtmp_conf_get_module_main_conf(cf, ngx_rtmp_play_module);pfmt ngx_ar…

AR眼镜_AR智能眼镜整机硬件方案定制

AR眼镜的主要模块包括显示、光学模组、传感器和摄像头、主板、音频和网络连接等。其中,光学显示、主板处理器是决定AR眼镜成本的关键,光机占整体AR眼镜成本43%、处理器占整体成本31%。 AR眼镜的主板设计难点在于尺寸要足够小且要处理好散热问题。主板上的…

接口优先于反射机制

在Java中,使用接口通常比反射机制更为优雅和安全。接口提供了一种声明性的方式来定义类的契约,并且能够在编译时进行类型检查,而反射则是在运行时动态获取和操作类的信息。下面是一个简单的例子,说明为什么在某些情况下接口比反射…

服务端监控工具:Nmon使用方法

一、认识nmon 1、简介 nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面, 并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件…

【JavaEE】多线程(4) -- 单例模式

目录 什么是设计模式? 1.饿汉模式 2.懒汉模式 线程安全问题 什么是设计模式? 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀ 些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题…