如何在 QTextEdit 中设置每行的最大字符数

How to set maximum characters per line in a QTextEdit

是否有一个选项可以设置 QTextEdit 中每行的最大字符数?

我有一个应用程序可以打开模板并将获取的 QLineEdit 字符串粘贴到 QTextEdit 中的特定行。

我试过:

QTextEdit.setMaximumWidth(something)
QTextEdit.setLineWrapMode(QTextEdit.WidgetWidth)
QTextEdit.setWordWrapMode(QtGui.QTextOption.WrapAtWordBoundaryOrAnywhere)

这在应用程序中直观地完成了工作,但是当将文本保存到文件时,QTextEdit 中的自动换行设置将被忽略(提到的那些行可以是 1000 个字符长)。

我看到了:

QTextDocument.setTextWidth()

有,但QTextEdit没有。

如果保存时需要固定文本的宽度,可以使用stdlib中的textwrap模块:

import textwrap

def saveText(self, width=100):
    text = self.textEdit.toPlainText()
    with open('somefile.txt', 'w') as stream:
        for line in textwrap.wrap(text, width=width):
            stream.write(line)

可以使用为 TextWrapper class.

指定的关键字参数以各种其他方式修改文本格式

我的问题的答案部分通过使用textwrap 解决,并在保存前将其粘贴到QTexEdit 框中,否则将无法正常工作。 此文本框搜索了另一个文本框并替换了标记的单词。 最后只保存最后一个文本框,使用 texwrap 保存时不会换行一个字符串。

此代码有效。

import textwrap
branchoverview = data["results"][0]['overview']
width = 10
self.QTexEdit_plot.setText(textwrap.fill(str(branchoverview), width=width))

谢谢 ekhumoro 让我走上正轨。