首先QTextEdit是一个富文本编辑器。关于你的问题有两个思路:
① 如果你不考虑富文本, 可以为QTextEdit设置不支持富文本 ( setAcceptRichText(bool) ), 然后使用 toPlainText() 方法获取文本进行处理。
② 如果考虑富文本。请参考以下示例:
auto *edit = new QTextEdit; // QTextEdit 实例
auto *dt = edit->document(); // 获取document 对象
auto currentBlock = dt->begin(); // QTextBlock 对象
while (currentBlock.isValid()) { // 遍历所有block
for (it = currentBlock.begin(); !(it.atEnd()); it++) { // 遍历block中的内容
QTextFragment currentFragment = it.fragment(); // QTextFragment 对象
QTextFormat format = currentFragment.charFormat(); // QTextFormat 内容类型
if (format.isImageFormat()) {
// 图片消息
QTextImageFormat newImageFormat = currentFragment.charFormat().toImageFormat();
if(newImageFormat.isValid()) {
QString imageName = newImageFormat.stringProperty(QTextFormat::ImageName);
/**