【Qt QML 入门】TextEdit

news2024/11/14 19:58:54

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

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

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

相关文章

【ArkTS】生命周期

页面生命周期 通常Entry修饰的组件称为页面,其拥有页面生命周期 onPageShow:页面每次显示时触发。onPageHide:页面每次隐藏时触发(通常是路由跳转到其他页面了)。onBackPress:当用户点击返回按钮时时触发…

谷歌的开源供应链安全

本内容是对Go项目负责人Russ Cox 在 ACM SCORED 活动上演讲内容[1]的摘录与整理。 SCORED 是Software Supply Chain Offensive Research and Ecosystem Defenses的简称, SCORED 23[2]于2023年11月30日在丹麦哥本哈根及远程参会形式举行。 摘要 💡 谷歌在开源软件供应…

​SQL (关系型) 数据库-fastapi集成

SQL (关系型) 数据库 - FastAPI FastAPI不需要你使用SQL(关系型)数据库。 但是您可以使用任何您想要的关系型数据库。 在这里,让我们看一个使用着SQLAlchemy的示例。 您可以很容易地将SQLAlchemy支持任何数据库,像: PostgreSQLMySQLSQLi…

Visual Studio 2022封装C代码为x64和x86平台动态库

1.引言 本文介绍如何使用Visual Studio 2022将C语言函数封装成x64和x86平台上使用的动态链接库(dll文件)并生成对应的静态链接库(lib文件),以及如何在C程序中调用生成的dll。 程序下载: 2.示例C语言程序 假设需要开发一个动态链接库,实现复…

Linux(操作系统)面经——part 1(持续更新中......)

1、说一说常用的 Linux 命令 mkdir创建文件夹,touch创建文件,mv移动文件内容或改名 rm-r 文件名:删除文件 cp拷贝:cp 文件1 文件2,cp-r跨目录拷贝 cp-r 路径1 路径2 vi 插入 :wqb保存退出 :q!强制退出…

W25N01GV 芯片应用

项目中处于成本考虑,要把Nor Flash换成低成本的Nand Flash。 这里总结下芯片应用。 总体概述: 1)W25N01(NandFlash)和W25Q(Nor Flash)的操作大不一样。 NandFlash擦除以块(128KB&…

计算BMI指数-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第19讲。 计算BMI指数&…

【TB作品】基于单片机的机械通风控制系统,实时温度和二氧化碳浓度

硬件: (1)51系列单片机,拟采用STC89C52RC; (2)DS18B20温度传感器; (3)二氧化碳浓度传感器:https://item.taobao.com/item.htm?spma21n57.1.0.0.1…

DS八大排序之冒泡排序和快速排序

前言 前两期我们已经对"插入排序"(直接插入排序和希尔排序) 和 "选择排序"(直接选择排序和堆排序)进行了详细的介绍~!这一期我们再来详细介绍一组排序 :"交换排序"即耳熟能…

lv12 uboot移植深化 9

u-boot-2013.01移植 【实验目的】 了解u-boot 的代码结构及移植的基本方法 【实验环境】 ubuntu 14.04发行版FS4412实验平台交叉编译工具arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行 【实验步骤】 1 建立自己的平台 1.…

在线客服系统定价因素解析:影响价格的关键因素

跨境电子商务公司必不可少的工具就是在线客服系统。企业选择在线客服系统的时候免不了要对不同产品的功能性、价格、服务等因素进行考量。今天这篇文章,我们就来探讨一下在线客服系统的定价因素有哪些?探究市面上的在线客服系统价格各异的影响因素。为大…

libp2p 快速开始

文章目录 第一部分:libp2p 快速入门一、什么是libp2plibp2p 发展历程libp2p的特性p2p 网络和我们熟悉的 client/server 网络的区别: 二、Libp2p的实现目标三、Libp2p的用途四、运行 Libp2p 协议流程libp2p 分为三层libp2p 还有一个局域网节点发现协议 mD…

27系列DGUS智能屏发布:可实时播放高清模拟信号摄像头视频

针对高清晰度的模拟信号摄像头视频画面的显示需求,迪文特推出27系列DGUS智能屏。该系列智能屏可适配常见的AHD摄像头、CVBS摄像头,支持单路1080P高清显示、两路720P同屏显示(同一类型摄像头)。用户通过DGUS简单开发即可实现摄像头…

netty-daxin-3(rpc远程调用)

文章目录 nettyRpcObjectEncoder 与 ObjectDecoderjdk动态代理回顾Rpc调用过程简析服务端客户端 nettyRpc ObjectEncoder 与 ObjectDecoder ObjectEncoder继承自MessageToByteEncoder<Serializable>&#xff0c;它内部使用ByteBufOutputStream包装ByteBuf对象&#xff…

SpringBoot 自动装配原理---源码详解

目录 SpringBoot 自动装配原理源码流程详解&#xff1a;流程总结&#xff1a;条件匹配解释&#xff1a;其他解释&#xff1a; SpringBoot 自动装配原理 源码流程详解&#xff1a; 1、先看启动类&#xff0c;启动这个main方法&#xff0c;然后调用这个run方法。 2、把 启动类作…

一文了解Tomcat

文章目录 1、Tomcat介绍2、Tomcat使用配置2.1、Tomcat下载启动2.2、Tomcat启动乱码2.3、Tomcat端口号修改 3、Tomcat项目部署4、IDEA中使用Tomcat方式 1、Tomcat介绍 什么是Tomcat ​ Tomcat是Apache软件基金会一个核心项目&#xff0c;是一个开源免费的轻量级web服务器&#x…

Networkx实现小世界网络的分析

Networkx实现小世界网络的分析 小世界网络 小世界现象&#xff0c;也被称为六度分离原则&#xff0c;即如果你在地球上的任何地方随便选择任何两个人&#xff0c;你会发现一条至多由他们之间的6个熟人形成的路径。在网络科学语言中&#xff0c;六度也被称为小世界性质&#x…

C++相关闲碎记录(16)

1、正则表达式 &#xff08;1&#xff09;regex的匹配和查找接口 #include <regex> #include <iostream> using namespace std;void out (bool b) {cout << ( b ? "found" : "not found") << endl; }int main() {// find XML/H…

【C++干货铺】继承后的多态 | 抽象类

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 多态的概念 多态的定义和实现 多态的定义条件 虚函数 虚函数的重写 特殊情况 协变&#xff08;基类和派生类的虚函数返回值不同&#xff09; 析构函数的重…

如果你找不到东西,请先确保你在正确的地方寻找

之前我们在几篇文章中描述了如何进行”思想”调试&#xff0c;今天的文章我将不会这样做。 因为下面的编程错误大部分人都会遇到&#xff0c;如果你看一眼下面的代码&#xff0c;你不会发现有什么问题&#xff0c;这仅仅是因为你的的大脑只给你希望看到的&#xff0c;而不是那…