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的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

相关推荐
时空系2 分钟前
第8篇:结构模板——自定义数据类型 Rust中文编程
开发语言·网络·rust
yuweiade5 分钟前
GO 快速升级Go版本
开发语言·redis·golang
lly2024067 分钟前
SOAP Body 元素
开发语言
zhouwy1131 小时前
Linux文件系统与IO编程
linux·c++
咸鱼2.02 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
JAVA面经实录9178 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
王老师青少年编程9 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
周杰伦fans9 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
叼烟扛炮10 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
样例过了就是过了11 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划