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 | 垂直方向滚动条的出现策略
|
horizontalScrollBarPolicy | 水平方向滚动条的出现策略
|
核心信号
信号 | 说明 |
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;
}