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

相关推荐
端平入洛1 天前
auto有时不auto
c++
郑州光合科技余经理2 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1232 天前
matlab画图工具
开发语言·matlab
dustcell.2 天前
haproxy七层代理
java·开发语言·前端
norlan_jame2 天前
C-PHY与D-PHY差异
c语言·开发语言
哇哈哈20212 天前
信号量和信号
linux·c++
多恩Stone2 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054962 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月2 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
蜡笔小马2 天前
21.Boost.Geometry disjoint、distance、envelope、equals、expand和for_each算法接口详解
c++·算法·boost