- class QTextDocumentWriter#
QTextDocumentWriter
类提供了一个格式独立的接口,用于将QTextDocument
写入文件或其他设备。《更多》…新加于版本 4.5。
摘要#
方法#
def
__init__()
def
device()
def
fileName()
def
format()
def
setDevice()
def
setFileName()
def
setFormat()
def
write()
静态功能#
备注
本文档可能包含自动从C++翻译到Python的代码片段。我们总是欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式来通知我们。
详细说明#
要编写文档,请创建一个带有文件名或设备对象的< code class="xref py py-class docutils literal notranslate" > QTextDocumentWriter < / code > 对象,并指定要写入的文档格式。您可以使用 < a class="reference internal" href="#PySide6.QtGui.QTextDocumentWriter.setFormat" title="PySide6.QtGui.QTextDocumentWriter.setFormat" > < code class="xref py py-meth docutils literal notranslate" > setFormat( ) < / code> 在以后设置格式。
调用< code class="xref py py-meth docutils literal notranslate" > write( ) < / code > 将文档写入设备。如果文档成功写入,则此函数返回 < code class="docutils literal notranslate" > true < / code> 。然而,如果在写入文档时发生错误,它将返回错误。
调用< code class="xref py py-meth docutils literal notranslate" > supportedDocumentFormats( ) < / code > 获取< code class="xref py py-class docutils literal notranslate" > QTextDocumentWriter < / code>可以写入的格式的列表。
由于支持的输出格式的能力差异很大,因此编写器只需为每种格式输出适当的子集对象。这通常包括文档中包含的格式化文本和图像。
- __init__ < / span> < span class="sig-paren" > < / span > < a class="headerlink" href="#PySide6.QtGui.QTextDocumentWriter.__init__" title="链接到这个定义" > # < / a>
构建一个空的< code class="xref py py-class docutils literal notranslate" > QTextDocumentWriter < / code > 对象。在写入之前,必须调用< code class="xref py py-meth docutils literal notranslate" > setFormat( ) < / code> 以设置文档格式,然后调用< code class="xref py py-meth docutils literal notranslate" > setDevice( ) < / code> 或< code class="xref py py-meth docutils literal notranslate" > setFileName( ) < / code> 。
- __init__ < / span> < span class="sig-paren" > < em class="sig-param" > < span class="n" > < span class="pre" > device < / span> < / span> < em class="sig-param" > < span class="n" > < span class="pre" > format < / span> < / span> < span class="sig-paren" > < / span > < / p>
- 参数 < / span > < / p>
device -
QIODevice < / code>
format -
QByteArray < / code>
构建一个< code class="xref py py-class docutils literal notranslate" > QTextDocumentWriter < / code>对象用于在指定的< code class="docutils literal notranslate" > device < / code>中以指定格式< code class="docutils literal notranslate" > format < / code>写入。
- __init__(fileName[, format=QByteArray()])
- 参数 < / span > < / p>
fileName – 字符串
format -
QByteArray < / code>
构造一个
QTextDocumentWriter
对象,该对象将按照由format
指定的文档格式写入名为fileName
的文件。如果未提供format
,则QTextDocumentWriter
会通过检查fileName
的扩展名来检测文档格式。返回当前分配的设备,如果没有分配设备则返回
None
。另请参阅:
- fileName()#
- 返回类型:
字符串
如果当前分配的设备是QFile,或者如果调用了
setFileName()
,此函数将返回要写入的文件名。在其他所有情况下,它返回空字符串。另请参阅:
setFileName()
setDevice()
- format()#
- 返回类型:
返回用于写入文档的格式。
另请参阅:
- setDevice(device)#
- 参数 < / span > < / p>
device -
QIODevice < / code>
将写入器的设备设置为指定的
device
。如果已经设置设备,则移除旧设备但保持其他设置不变。如果设备尚未打开,
QTextDocumentWriter
将尝试通过调用open()
以仅写入模式打开设备。备注
对于某些设备,这可能不起作用,例如QProcess、QTcpSocket和QUdpSocket,在这些情况下,在设备可以打开之前需要进行一些配置。
另请参阅:
device()
setFileName()
- setFileName(fileName)#
- 参数 < / span > < / p>
fileName – 字符串
设置要写入的文件名为
fileName
。在内部,QTextDocumentWriter
将创建一个 QFile 并以 WriteOnly 模式打开它,并在写文档时使用此文件。另请参阅:
- setFormat(format)#
- 参数 < / span > < / p>
format -
QByteArray < / code>
警告
本节包含自动从 C++ 翻译到 Python 的代码片段,可能包含错误。
设置写文档所用的格式为指定的
format
。format
是不区分大小写的文本字符串。例如writer = QTextDocumentWriter() writer.setFormat("odf") # same as writer.setFormat("ODF")
您可以通过调用
supportedDocumentFormats()
获取QTextDocumentWriter
支持的完整格式列表。另请参阅:
- static supportedDocumentFormats()#
- 返回类型:
一系列 QByteArray
返回由
QTextDocumentWriter
支持的文档格式列表。默认情况下,Qt 可以写以下格式
格式
描述
plaintext
纯文本
HTML
超文本标记语言
markdown
Markdown(CommonMark 或 GitHub 语法)
ODF
开放文档格式
另请参阅:
- write(document)#
- 参数 < / span > < / p>
document –
QTextDocument
- 返回类型:
bool
如果成功,将给定的
document
写入指定的设备或文件,并返回true
;否则返回false
。- write(fragment)
- 参数 < / span > < / p>
fragment –
QTextDocumentFragment
- 返回类型:
bool
如果成功,将
fragment
指定的文档片段写入指定的设备或文件,并返回true
;否则返回false
。