QTextDocumentWriter 类

QTextDocumentWriter 类提供了一个格式无关的接口,用于将 QTextDocument 写入文件或其他设备。 更多信息...

头文件 #include <QTextDocumentWriter>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui

公共函数

QTextDocumentWriter()
QTextDocumentWriter(QIODevice *device, const QByteArray &format)
QTextDocumentWriter(const QString &fileName, const QByteArray &format = QByteArray())
~QTextDocumentWriter()
QIODevice *device() const
QStringfileName() const
QByteArrayformat() const
voidsetDevice(QIODevice *device)
voidsetFileName(const QString &fileName)
voidsetFormat(const QByteArray &format)
boolwrite(const QTextDocument *document)
boolwrite(const QTextDocumentFragment &fragment)

静态公共成员

QList<QByteArray>supportedDocumentFormats()

详细描述

要写入一个文档,使用文件名或设备对象构建一个 QTextDocumentWriter 对象,并指定要写入的文档格式。您可以在稍后使用 setFormat() 设置格式。

调用 write() 将文档写入设备。如果文档成功写入,此函数返回 true。然而,如果在写入文档时发生错误,它将返回 false。

调用 supportedDocumentFormats() 获取 QTextDocumentWriter 可以写入的格式列表。

由于支持输出格式的功能差异很大,写入器仅输出每种格式的适当对象子集。这通常包括文档中包含的格式化文本和图像。

成员函数文档

QTextDocumentWriter::QTextDocumentWriter()

构建一个空的 QTextDocumentWriter 对象。在写入之前,您必须使用 setFormat() 设置文档格式,然后调用 setDevice() 或 setFileName()。

QTextDocumentWriter::QTextDocumentWriter(QIODevice *device, const QByteArray &format)

创建一个 device 对象,用于写入指定格式 format 的文档。

[显式构造函数] QTextDocumentWriter::QTextDocumentWriter(const QString &fileName, const QByteArray &format = QByteArray())

创建一个 QTextDocumentWriter 对象,准备将文档写入名为 fileName 的文件中,使用 format 指定的文档格式。如果未提供 format,QTextDocumentWriter 将通过检查 fileName 的扩展名来自动检测文档格式。

[异常] QTextDocumentWriter::~QTextDocumentWriter()

销毁 QTextDocumentWriter 对象。

QIODevice *QTextDocumentWriter::device() const

返回当前分配的设备,或者如果未分配设备则返回 nullptr

另请参阅setDevice()。

QString QTextDocumentWriter::fileName() const

如果当前分配的设备是 QFile 或已调用 setFileName,则此函数返回要写入的文件名。在其他所有情况下,它返回空字符串。

另请参阅setFileName() 和 setDevice()。

QByteArray QTextDocumentWriter::format() const

返回文档写入所使用的格式。

另请参阅setFormat()。

void QTextDocumentWriter::setDevice(QIODevice *device)

将写入器的设备设置为指定的 device。如果已经设置了设备,则删除旧设备,否则保持不变。

如果设备尚未打开,QTextDocumentWriter 将尝试通过调用 open() 在 WriteOnly 模式下打开设备。

注意:此功能对某些设备不起作用,例如 QProcessQTcpSocketQUdpSocket,在这些设备上打开之前需要一些配置。

另请参阅device() 和 setFileName()。

void QTextDocumentWriter::setFileName(const QString &fileName)

设置要写入的文件名 fileName。在内部,QTextDocumentWriter 将创建一个 QFile 并以 WriteOnly 模式打开它,并将此文件用于文档写入。

另请参阅 fileName() 和 setDevice().

void QTextDocumentWriter::setFormat(const QByteArray &format)

设置写入文档所使用的格式为指定的 formatformat 是一个不区分大小写的文本字符串。例如

        QTextDocumentWriter writer;
        writer.setFormat("odf"); // same as writer.setFormat("ODF");

你可以调用 supportedDocumentFormats() 来获取 QTextDocumentWriter 支持的所有格式的完整列表。

另请参阅 format().

[静态] QList<QByteArray> QTextDocumentWriter::supportedDocumentFormats()

返回由 QTextDocumentWriter 支持的文档格式列表。

默认情况下,Qt 可以写入以下格式

格式描述
plaintext纯文本
HTML超文本标记语言
markdownMarkdown(CommonMark 或 GitHub 方言)
ODF开放文档格式

另请参阅setFormat()。

bool QTextDocumentWriter::write(const QTextDocument *document)

将给定的 document 写入指定的设备或文件,如果成功则返回 true;否则返回 false

bool QTextDocumentWriter::write(const QTextDocumentFragment &fragment)

将指定的 fragment 中的文档片段写入指定的设备或文件,如果成功则返回 true;否则返回 false

© 2024 The Qt Company Ltd. 嵌入此处的文档贡献版权属于其各自所有者。本提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款授权的。Qt 和相应的商标是芬兰和/或其他国家/地区的 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。