QTextDocumentWriter 类
QTextDocumentWriter 类提供了一个格式无关的接口,用于将 QTextDocument 写入文件或其他设备。 更多信息...
头文件 | #include <QTextDocumentWriter> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
- 所有成员列表,包括继承的成员
- QTextDocumentWriter 是 富文本处理 API 的一部分。
公共函数
QTextDocumentWriter() | |
QTextDocumentWriter(QIODevice *device, const QByteArray &format) | |
QTextDocumentWriter(const QString &fileName, const QByteArray &format = QByteArray()) | |
~QTextDocumentWriter() | |
QIODevice * | device() const |
QString | fileName() const |
QByteArray | format() const |
void | setDevice(QIODevice *device) |
void | setFileName(const QString &fileName) |
void | setFormat(const QByteArray &format) |
bool | write(const QTextDocument *document) |
bool | write(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 模式下打开设备。
注意:此功能对某些设备不起作用,例如 QProcess、QTcpSocket 和 QUdpSocket,在这些设备上打开之前需要一些配置。
另请参阅device() 和 setFileName()。
void QTextDocumentWriter::setFileName(const QString &fileName)
设置要写入的文件名 fileName。在内部,QTextDocumentWriter 将创建一个 QFile 并以 WriteOnly 模式打开它,并将此文件用于文档写入。
另请参阅 fileName() 和 setDevice().
void QTextDocumentWriter::setFormat(const QByteArray &format)
设置写入文档所使用的格式为指定的 format。 format 是一个不区分大小写的文本字符串。例如
QTextDocumentWriter writer; writer.setFormat("odf"); // same as writer.setFormat("ODF");
你可以调用 supportedDocumentFormats() 来获取 QTextDocumentWriter 支持的所有格式的完整列表。
另请参阅 format().
[静态]
QList<QByteArray> QTextDocumentWriter::supportedDocumentFormats()
返回由 QTextDocumentWriter 支持的文档格式列表。
默认情况下,Qt 可以写入以下格式
格式 | 描述 |
---|---|
plaintext | 纯文本 |
HTML | 超文本标记语言 |
markdown | Markdown(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 的商标。所有其他商标均为其各自所有者的财产。