Qt常用控件之QTextEdit

Qt常用控件之QTextEdit

🌟🌟hello,各位读者大大们你们好呀🌟🌟

🚀🚀系列专栏:【Qt的学习】

📝📝本篇内容:QTextEdit的简单介绍;实现简单的同步;信号

⬆⬆⬆⬆上一篇:Qt常用控件之QLineEdit

💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-

1.QTextEdit的简单介绍

QTextEdit是一个多行输入框,而我们之前讲的QLineEdit是一个单行输入框,并且QTextEdit还是一个富文本+markdown编辑器

接下来还是重点讲它的函数

函数声明 函数说明
QString toHtml() const 以html格式返回
void setHtml(const QString &text) 以html格式来进行设置文本
QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub)const 以markdown格式返回
void setMarkdown(const QString &markdown) 以markdown格式来进行设置文本
QString QTextEdit::toPlainText() const 以普通文本格式返回
void setText(const QString &text) 以普通文本格式来进行设置文本
QString placeholderText() const 当输入框中没有任何输入时的提示文字
void setReadOnly(bool ro) 设置是否为只读
bool isUndoRedoEnabled() const 按下 ctrl + z 触发 undo即撤销,按下 ctrl + y 触发 redo即撤销撤销
void setAutoFormatting(QTextEdit::AutoFormatting features) 开启自动格式化
void setTabStopDistance(qreal distance) 设置缩进占多少空间
void setOverwriteMode(bool overwrite) 是否开启覆盖写模式
void setAcceptRichText(bool accept) 设置是否支持富文本
verticalScrollBarPolicy 垂直⽅向滚动条的出现策略,Qt::ScrollBarAsNeeded : 根据内容⾃动决定是否需要滚动条。这是默认值; Qt::ScrollBarAlwaysOff : 总是关闭滚动条
horizontalScrollBarPolicy 垂直⽅向滚动条的出现策略,Qt::ScrollBarAsNeeded : 根据内容⾃动决定是否需要滚动条。这是默认值;Qt::ScrollBarAlwaysOff : 总是关闭滚动条

接下来是信号

信号声明 信号说明
void textChanged() ⽂本内容改变时触发
void selectionChanged() 选中范围改变时触发
void cursorPositionChanged() 光标移动时触发
void redoAvailable(bool available) 可以进⾏ redo 操作时触发
void undoAvailable(bool available) 可以进⾏ undo 操作时触发
void copyAvailable(bool yes) ⽂本被选中/取消选中时触发

2.实现简单的同步

我们可以通过这个一个便签控件和多行输入框来完成一个同步功能,非常简单

我们可以通过QTextEdit这个控件的信号来完成,当文本只要发生改变,就会触发信号,此时就可以获取到输入框的内容并设置到label中去

其中之所以一段数字label没有显示出来是因为label长度的原因,设置小了

3.信号

接下来就详细看看这些信号的使用情况

我们只需要一个多行输入框,然后对它每个信号设置槽函数

接下来就是看看什么情况下会触发说明信号

其中的selectionChanged信号它就比较抽象,每次只要你选择的时候鼠标动一动它都会触发
🌸🌸Qt常用控件之QTextEdit大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

相关推荐
Escalating_xu1 小时前
【C++入门基础(下)】默认参数、函数重载、引用、inline 与 nullptr
android·c++·redis
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】Provider分析与实现
c++·人工智能·学习·面试·大模型·llm
m0_547486669 小时前
《JavaScript核心原理 》全套PPT课件2026
开发语言·javascript·ecmascript
老当益壮梁奶奶9 小时前
Linux软件编程学习笔记(七):线程分离与线程间通信详解
linux·c语言·c++·笔记·学习
MC皮蛋侠客9 小时前
Tauri 2.x 系列(五):调用系统 API——官方插件、Rust crate 与原生能力
开发语言·后端·rust
布莱克60510 小时前
软中断和硬中断的区别
开发语言·操作系统
whcyhhh10 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
lzhdim11 小时前
13、JavaScript事件循环机制 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
zbyyd12 小时前
Linux 多线程:互斥锁 & 信号量
linux·c语言·开发语言·网络
wuyk55512 小时前
从零吃透Modbus通信|第3章:STM32 Modbus RTU主机
服务器·开发语言·网络·数据结构·stm32·单片机·嵌入式硬件