嗨,我正在编码一个RTF编辑器,我想将textEdit字段文本另存为RTF文件。我是这样做的。但是,我写的是带有不同字体颜色,大小,粗体的富文本。但是当我将其另存为rtf文件时。所有更改都消失了。(我写给PlainText。我必须写不同的方法) 如何保存更改后的文本(如字体,大小,颜色)?
def savefl(self):
try:
filey = QtWidgets.QFileDialog.getSaveFileName(self,"Save","","Rich Text File (*.rtf);;Text File(*.txt);;All Files (*.*)")
with open(filey[0], "w", encoding="utf-8") as file2:
file2.write(self.textEdit.toPlainText())
except (FileNotFoundError,FileExistsError):
pass
答案 0 :(得分:0)
富文本和富文本格式 RTF不一定是同一件事。 Microsoft Word文档(.doc),Markdown(.md)和Libreoffice文档(.odf)都是富文本文件格式。
HTML也是如此,这就是Qt使用toHtml
方法获取富文本的方式。无法使RTF脱离Qt。您必须将HTML转换为RTF。
如果HTML可以满足您的需求,请使用它。 As has been written before,RTF是一种古老的格式,并且其年龄越来越大。如果您绝对需要RTF,则需要进行转换。如果可以调用外部程序,建议使用require(stringi)
set.seed(1)
values <- c("AGLRJMV", "KTKOXSOCOFMTMSOV", "GTSHH")
stri_rand_shuffle(values)
#[1] "GAJVLRM" "VOTSXMOTFMOKSCKO" "SHTGH"
。如果没有,则必须使用PyRTF之类的库并手动解析HTML并使用PyRTF创建文档。