QTextEdit/QTextBrowser两个控件追加文本的接口使用方法都是一样的。
以QTextBrowser为例:
1.追加文本自动换行:
textBrowser->append("hello ");
textBrowser->append("world");
append接口会自动换行,所以会在文本框中打印:
hello
world
2.追加文本不自动换行
textBrowser->insertPlainText("hello ");
textBrowser->insertPlainText("world");
insertPlainText接口是在当前光标插入文本(光标一般默认在末尾),不自动换行,所以会打印:
hello world
QTextEdit/QTextBrowser两个控件追加文本的接口都是一样的。以QTextBrowser为例:1.追加文本自动换行:textBrowser->append("hello "); textBrowser->append("world"); appen接口会自动换行,所以会在文本框中打印:helloworld2.追加文本不自动换行textBrowser->insertPlainText("hello "); textBrowser->insertPl
最近在使用QTextBrowser的时候,发现append()很奇特:有时候会莫名的换行,使得显示很不美观,所以决定小研究了一下,下面是我的研究结果:
append()函数的英文说明:
Appends a new paragraph with text to the end of the text edit.
这段说明在QTextBrowser的说明文档中没有找到,但在它的父级QTextEdi
这里先感谢 diyuanbo 大神;使用如下方法,用户选中文本时新增文本也不会乱码。
QTextCursor tc = ui->textRec->textCursor();
tc.movePosition(QTextCursor::End);
tc.insertText(appendStr);
QTextEdit *faceEdit = new QTextEdit(this);
faceEdit->setFixedSize(100, 100);
faceEdit->append(tr("编号")+QString(":")+QString("548hhhhhggggg11ga31ddddddds"));
faceEdit-...
m_textEdit.moveCursor(QTextCursor::End);
m_textEdit.insertPlainText(strCache); //在光标位置插入文本 避免appendPlainText()自动换行
使用m_textEdit.appendPlainText(strText);每次追加完会自动换行,使用上边的函数,先定位光标,再将文本插入到光标位置即可避免。
QTextEdit/QTextBrowser支持Html4。当insertPlainText不能满足你的需求的时候,可以试试用Html来添加显示的内容。这几介绍大家常用的彩色文字,和添加图片。
一、添加彩色文字。
1.由于html的特性,会导致一些特殊字符不能显示,例如用于标记的‘‘>’、空格,换行等。所以第一步需要对待添加的QString进行转化,转化成html支持的文本
您可以使用 `setLineWrapMode()` 方法来设置 QTextBrowser 组件不自动换行。可以将 `setLineWrapMode()` 方法传递的参数设置为 `QTextEdit.NoWrap`,即不自动换行:
```python
from PyQt5.QtWidgets import QApplication, QTextBrowser
from PyQt5.QtGui import QTextOption
import sys
app = QApplication(sys.argv)
text_browser = QTextBrowser()
# 设置文字对齐方式,可选项是左对齐、右对齐或居中对齐
text_browser.setAlignment(Qt.AlignLeft)
# 设置自动换行模式为不自动换行
text_browser.setLineWrapMode(QTextOption.NoWrap)
# 添加文字
text_browser.append("This is a test message.")
# 显示 QTextBrowser 组件
text_browser.show()
sys.exit(app.exec_())
在上面的示例中,我们首先创建了一个 QTextBrowser 组件,并将其对齐方式设置为左对齐。接下来,我们使用 `setLineWrapMode()` 方法将自动换行模式设置为不自动换行。最后,我们使用 `append()` 方法添加了一条消息,并在 `QTextBrowser` 上显示它。