【Qt】QTextEdit

news2024/12/27 11:11:17

QTextEdit是Qt中用于编辑和显示文本内容的类。其提供了丰富的用户界面控件,可以用于创建和包含格式化文本、图片和链接的文本编辑器

常用属性 

属性说明
markdown输入框内持有的内容。支持markdown格式,能自动的对markdown文本进行渲染成html
html输入框持有的内容。可以支持大部分html标签,包括img和table等
placeHolderText输入框为空时提示的内容
readOnly是否是只读的
undoRedoEnable

是否开启undo/redo功能

ctrl + z触发undo功能,即撤销

ctrl + y触发redo功能,即取消撤销

autoFormating开启自动格式化
tabstopWidth设置缩进所占空间
overwriteMode是否开启覆盖写模式
acceptRichText是否接受富文本内容
 verticalScrollBarPolicy

垂直方向滚动条的出现策略

  • Qt::ScrollBarAsNeeded:根据内容自动决定是否需要滚动条。默认为该模式
  • Qt::ScrollBarAlwaysOff:总是关闭滚动条
  • Qt::ScrollBarAlwaysOn:总是显示滚动条
horizontalScrollBarPolicy

水平方向滚动条的出现策略

  • Qt::ScrollBarAsNeeded:根据内容自动决定是否需要滚动条。默认为该模式
  • Qt::ScrollBarAlwaysOff:总是关闭滚动条
  • Qt::ScrollBarAlwaysOn:总是显示滚动条

核心信号

信号说明
textChanged()文本内容改变时触发
selectionChanged()选中范围改变时触发
cursorPositionChanged()输入光标位置改变时触发
undoAvailable(bool)可以进行undo操作时触发
redoAvailable(bool)

可以进行redo操作时触发

copyAvailable(bool)

文本被选中/取消选中时触发,是否可复制。

有选中的文本时,触发此信号,参数为true

取消选中文本时,触发此信号,参数为false

目录

属性

文本内容

信号

undoAvailable&redoAvailable

copyAvailable


属性

文本内容

QTextEdit有四种设置文本内容的方法。这些方法,后使用的会覆盖之前设置的文本

setText(const QString &text)//自动解释文本内容,支持html和markdown

setPlainText(const QString &text)//纯文本
setHtml(const QString &text)//html标签
setMarkDown(const QString &markdown)//markdown文本

获取文本内容的方法有三个

QSrting toPlainText()//将文本中的纯文本提取出来,省去html的标签和markdown
QString toMarkdown()//将文本按markdwon格式提取,html文本也可以转换成markdown
QString toHtml()//将文本按html标签提取,markdown也可以转换成html

信号

undoAvailable&redoAvailable

当是否可撤销的状态发生改变时才触发undoAvailable

当反撤销的状态发生改变时才出发redoAvailable

示例:定义这两个信号的槽函数,输入/撤销文本,观察信号的发出及参数

//是否可ctrl + z撤回的状态发生改变时发出该信号
void Widget::on_textEdit_undoAvailable(bool b)
{
    qDebug() << "undoAvailable" << b;
}
//是否可ctrl + y撤回ctrl + z的撤回
void Widget::on_textEdit_redoAvailable(bool b)
{
    qDebug() << "redoAvailable" << b;
}




copyAvailable

 当是否有文本可复制的状态发生改变时才会触发copyAvailable

 示例:定义这该信号的槽函数,选中/取消选择文本,观察信号的发出及参数

//有无选中文本,的状态改变时发出该信号,参数是是否有内容可以复制
void Widget::on_textEdit_copyAvailable(bool b)
{
    qDebug() << "copyAvailable" << b;
}


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

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

相关文章

性能提升20%,字节跳动HTTPDNS从中心下沉到边缘

摘要&#xff1a;本文介绍了HTTPDNS服务从中心迁移至边缘详细的落地过程。主要内容为&#xff1a; HTTPDNS下沉边缘实践遇到的挑战&#xff0c;包括服务放置、流量调度 HTTPDNS下沉边缘解决方案 从性能、成本出发&#xff0c;谈谈HTTPDNS下沉边缘后的收益 传统的DNS流程中…

Python的语法糖及其进化,带范例

话说python也算是多年媳妇熬成婆的典范了。 1&#xff09;3.6以后引入的f-格式化字符串&#xff0c;现在写代码更像写小作文了&#xff0c;而且折行顺眼多了。 print(f"""Hello, {"World".upper()}""") 2&#xff09;3.5以后引入的:…

普通人如何抓住AI浪潮的入局之路?

前言 随着生成式AI的迅速普及&#xff0c;不仅科技巨头们纷纷投入重金布局&#xff0c;招聘市场也随之发生了显著变化。对于程序员而言&#xff0c;掌握AI技术已成为提升个人竞争力的关键。然而&#xff0c;面对复杂的理论和技术栈&#xff0c;很多人仍然感到迷茫&#xff0c;…

Windows11安装MySQL8.4.2版本详细过程记录

下载 地址&#xff1a;https://dev.mysql.com/downloads/mysql/8.0.html 我选择下载zip版本&#xff1a; 点击下载需要登录&#xff1a; 于是我登录&#xff1a; 接着点下载&#xff1a; 被迅雷拦截了&#xff0c;直接使用迅雷下载&#xff1a; 下载好了&#xff1…

用Python来DIY一个AI面部情绪识别API的简单方案

基于人工智能的面部情绪识别API在很多场景都得到了应用&#xff0c;在人们情绪化消费、兴趣化消费的当下&#xff0c;如何察言观色&#xff0c;洞察用户真实的心理活动非常必要&#xff0c;对于大多数的人来说&#xff0c;这事非常有挑战&#xff0c;好在以ChatGPT为代表的大语…

如何实现ECharts图表根据屏幕大小自适应?

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue篇专栏内容:Vue-ECharts自适应 目录 前言 1920*1080分辨率示图 8184*2432分辨率示图 以vue3ts开发为例 (…

CSS 如何实现彩色渐变效果的文字

效果图如下&#xff1a;实现文字的字体颜色由 #ad4bd7 向 #6351fe 的颜色渐变效果。 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widt…

python 直接引用、浅拷贝、深拷贝的区别

1. 简述 简单来讲&#xff0c;直接引用所指向的地址是原对象的地址&#xff0c;深拷贝所指向的是新对象的地址&#xff0c;浅拷贝介于二者之间&#xff0c;原对象的直接子对象为新&#xff0c;子孙对象为原子孙对象。 下面用两个变量 a、b&#xff0c;一个字典对象 {‘aaa’:…

数学建模--拟合算法

目录 拟合与插值的区别 常用的拟合算法 应用实例 总结 最小二乘法在不同数据分布下的性能表现如何&#xff1f; 傅里叶级数拟合在图像处理中的应用案例有哪些&#xff1f; 贝叶斯估计法与最大似然估计法在参数估计中的优缺点分别是什么&#xff1f; 最大似然估计法&…

QT QTableView使用自定义数据模型

创建一个Qt工程-QMainWindow 添加控件 给按钮加上点击事件 创建数据结构 4.1 使用结构体或类定义自己的数据结构 4.2 声明数据结构体 #pragma once #ifndef MYDATA_H #define MYDATA_H #include<QString> struct Data {int index;QString name;QString sex; }; #endif …

auto和范围for

auto auto&#xff1a;自动推导类型功能 1.在早期 C/C 中 auto 的含义是&#xff1a;使用 auto 修饰的变量&#xff0c;是具有自动存储器的局部变量&#xff0c;后来这个 不重要了。 C11 中&#xff0c;标准委员会变废为宝赋予了 auto 全新的含义即&#xff1a; auto 不再是一…

MATLAB画散点密度图(附代码和测试数据的压缩包)

1. 有关 Matlab 获取代码关注WZZHHH回复关键词&#xff0c;或者咸鱼关注&#xff1a;WZZHHH123 怀俄明探空站数据解算PWV和Tm&#xff1a;怀俄明探空站数据解算PWV和Tm 怀俄明多线程下载探空站数据&#xff08;包括检查和下载遗漏数据的代码&#xff09;&#xff1a;怀俄明多线…

UE5 Niagara 粒子缩放—跟随物体缩放

使用Niagara粒子时&#xff0c;默认情况下&#xff0c;在世界大纲中的粒子不会随着actor的Scale缩放而改变 方法一&#xff1a;添加Scale Sprite Size 节点 方法二&#xff1a;使用 Apply Owner Scale to Attributes 节点 根据需要缩放的变量进行设置。 方法三&#xff1a;使用…

《Redis设计与实现》读书笔记-客户端

目录 1.Client简介 2.客户端属性 1&#xff09;&#xff08;本文重点&#xff09;比较通用的属性 2&#xff09;&#xff08;后续分享&#xff09;另外一类是和特定功能相关的属性 2.1套接字文件描述符 2.2名字 2.3标志&#xff08;flag&#xff09; 2.4输入缓冲区 2.…

esp-idf-v5.1.1所有官方例程讲解(esp32、esp32-C2、esp32-S3)之 a2dp_sink 详解

目录 1. 获取ESP-IDF和示例代码 2. 导航到示例代码 3. 示例代码结构 4. 关键文件解析 main.c 初始化和配置: bt_app_core.c 和 bt_app_core.h bt_app_av.c 和 bt_app_av.h A2DP事件处理: AVRCP事件处理: bt_app_sink.c 和 bt_app_sink.h 5. 编译和烧录 6. 测试…

【Linux】全志Tina etc目录下关键文件内容修改

一、文件位置 V:\f1c100s\Evenurs\f1c100s\tina\target\allwinner\c200s-F1C200s\busybox-init-base-files\etc\ssv6x5x-wifi.cfg 二、文件内容 三、介绍 在此目录下&#xff0c;可以修改在etc目录下的文件内容&#xff0c;此处举例修改一个wifi模块的配置文件数据。

探索Python的`retries`库:让代码更健壮的利器

探索Python的retries库&#xff1a;让代码更健壮的利器 背景&#xff1a;为何选择retries库&#xff1f; 在软件开发过程中&#xff0c;我们经常会遇到需要重复尝试执行某些操作的情况&#xff0c;比如网络请求、文件读写等。这些操作可能会因为各种原因暂时失败&#xff0c;但…

计算机专业,如何在大一领先其他人?关键是打破信息差!

高考录取陆续结束&#xff0c;不少同学报考计算机专业&#xff0c;然而&#xff0c;大部分人面对即将开启的计算机本科课程还是一无所知。 计算机的大学四年&#xff0c;都学些什么&#xff1f;要一直跟字符打交道吗&#xff1f;其实不然&#xff0c;编程的世界远比我们想象的…

[BJDCTF2020]EasySearch (SSI注入漏洞)

这题ctrlU发现往index.php提交数据&#xff0c;但是我目录&#xff0c;git泄露&#xff0c;sqlmap&#xff0c;爆破admin密码都没有作用&#xff0c;数据包页面也没有什么重置密码注册的功能 这种三无题多半是要拿源码做的&#xff0c;我又拿我备份文件字典扫了一下结果发现ind…