【Qt】QTextEdit

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;
}


  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值