如何在 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 让我走上正轨。
是否有一个选项可以设置 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 让我走上正轨。