このページでは

QTextDocumentWriter Class

QTextDocumentWriter クラスは、QTextDocument をファイルやその他のデバイスに書き出すための、フォーマットに依存しないインターフェースを提供します。詳細...

ヘッダー: #include <QTextDocumentWriter>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

パブリック関数

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 を返します。

QTextDocumentWriterが書き出し可能なフォーマットのリストを取得するには、supportedDocumentFormats()を呼び出してください。

サポートされている出力形式の機能にはかなりのばらつきがあるため、ライターは各形式に適したオブジェクトのサブセットのみを出力します。これには通常、ドキュメントに含まれる書式設定済みのテキストや画像が含まれます。

メンバ関数のドキュメント

QTextDocumentWriter::QTextDocumentWriter()

空の QTextDocumentWriter オブジェクトを生成します。書き込みを行う前に、setFormat() を呼び出してドキュメント形式を設定し、その後、setDevice() またはsetFileName() を呼び出す必要があります。

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

format で指定されたドキュメント形式に従って、指定された `device ` に書き込みを行う `QTextDocumentWriter` オブジェクトを生成します。

[explicit] QTextDocumentWriter::QTextDocumentWriter(const QString &fileName, const QByteArray &format = QByteArray())

format で指定されたドキュメント形式を使用し、fileName という名前のファイルに書き込む QTextDocumentWriter オブジェクトを生成します。format が指定されていない場合、QTextDocumentWriter はfileName の拡張子を調べることでドキュメント形式を検出します。

[noexcept] 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");

QTextDocumentWriter がサポートするフォーマットの完全な一覧については、supportedDocumentFormats() を呼び出してください。

format()も参照してください 。

[static] QList<QByteArray> QTextDocumentWriter::supportedDocumentFormats()

QTextDocumentWriter がサポートするドキュメント形式のリストを返します。

デフォルトでは、Qtは以下の形式で書き出しが可能です:

形式説明
plaintextプレーンテキスト
HTMLハイパーテキスト・マークアップ・言語
MarkdownMarkdown(CommonMark または GitHub の方言)
ODFOpenDocument フォーマット

関連項目: setFormat()。

bool QTextDocumentWriter::write(const QTextDocument *document)

指定されたdocument を、割り当てられたデバイスまたはファイルに書き込み、成功した場合はtrue を返します。失敗した場合はfalse を返します。

bool QTextDocumentWriter::write(const QTextDocumentFragment &fragment)

fragment で指定されたドキュメントフラグメントを、指定されたデバイスまたはファイルに書き込み、成功した場合は `true ` を返し、失敗した場合は `false` を返します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.