Sur cette page

QTextDocumentWriter Class

La classe `QTextDocumentWriter` fournit une interface indépendante du format permettant d'écrire un ` QTextDocument ` dans des fichiers ou sur d'autres périphériques. En savoir plus...

En-tête : #include <QTextDocumentWriter>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Fonctions publiques

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)

Membres publics statiques

QList<QByteArray> supportedDocumentFormats()

Description détaillée

Pour écrire un document, créez un objet QTextDocumentWriter en lui fournissant soit un nom de fichier, soit un objet périphérique, puis spécifiez le format du document à écrire. Vous pouvez créer un objet d'écriture et définir le format ultérieurement à l'aide de la fonction setFormat().

Appelez write() pour écrire le document sur le périphérique. Si l'écriture du document réussit, cette fonction renvoie true. En revanche, si une erreur se produit lors de l'écriture du document, elle renvoie false.

Appelez supportedDocumentFormats() pour obtenir la liste des formats pris en charge par QTextDocumentWriter.

Étant donné que les capacités des formats de sortie pris en charge varient considérablement, le générateur se contente de produire le sous-ensemble d’objets approprié pour chaque format. Cela inclut généralement le texte formaté et les images contenues dans un document.

Documentation des fonctions membres

QTextDocumentWriter::QTextDocumentWriter()

Crée un objet QTextDocumentWriter vide. Avant de commencer l'écriture, vous devez appeler la méthode setFormat() pour définir le format du document, puis la méthode setDevice() ou setFileName().

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

Crée un objet `QTextDocumentWriter` permettant d'écrire dans l'device spécifié, au format de document défini par ` format`.

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

Crée un objet `QTextDocumentWriter` qui écrira dans un fichier nommé ` fileName`, en utilisant le format de document spécifié par ` format`. Si ` format ` n'est pas fourni, `QTextDocumentWriter` détectera le format de document en analysant l'extension de ` fileName`.

[noexcept] QTextDocumentWriter::~QTextDocumentWriter()

Supprime l’objet « QTextDocumentWriter ».

QIODevice *QTextDocumentWriter::device() const

Renvoie le périphérique actuellement attribué, ou « nullptr » si aucun périphérique n'a été attribué.

Voir aussi setDevice().

QString QTextDocumentWriter::fileName() const

Si le périphérique actuellement attribué est un QFile, ou si la fonction setFileName() a été appelée, cette fonction renvoie le nom du fichier dans lequel l'écriture doit s'effectuer. Dans tous les autres cas, elle renvoie une chaîne vide.

Voir également setFileName() et setDevice().

QByteArray QTextDocumentWriter::format() const

Renvoie le format utilisé pour la rédaction des documents.

Voir aussi setFormat().

void QTextDocumentWriter::setDevice(QIODevice *device)

Définit le périphérique de l'éditeur sur l'device spécifiée. Si un périphérique a déjà été défini, l'ancien périphérique est supprimé mais reste inchangé à tous autres égards.

Si le périphérique n’est pas encore ouvert, QTextDocumentWriter tentera de l’ouvrir en mode « WriteOnly » en appelant la fonction open().

Remarque : cela ne fonctionnera pas pour certains périphériques, tels que QProcess, QTcpSocket et QUdpSocket, qui nécessitent une configuration préalable avant que le périphérique puisse être ouvert.

Voir également device() et setFileName().

void QTextDocumentWriter::setFileName(const QString &fileName)

Définit le nom du fichier dans lequel le document doit être enregistré : fileName. En interne, QTextDocumentWriter crée un fichier QFile, l'ouvre en mode WriteOnly, puis utilise ce fichier lors de l'écriture du document.

Voir également fileName() et setDevice().

void QTextDocumentWriter::setFormat(const QByteArray &format)

Définit le format utilisé pour écrire les documents sur l'format spécifiée. « format » est une chaîne de texte insensible à la casse. Par exemple :

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

Vous pouvez appeler la fonction ` supportedDocumentFormats()` pour obtenir la liste complète des formats pris en charge par ` QTextDocumentWriter `.

Voir également ` format()`.

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

Renvoie la liste des formats de documents pris en charge par QTextDocumentWriter.

Par défaut, Qt peut écrire dans les formats suivants :

FormatDescription
texte brutTexte brut
HTMLLangage de balisage hypertexte
MarkdownMarkdown (dialectes CommonMark ou GitHub)
ODFFormat OpenDocument

Voir aussi setFormat().

bool QTextDocumentWriter::write(const QTextDocument *document)

Écrit l'document on fournie dans le périphérique ou le fichier spécifié et renvoie « true » en cas de réussite ; sinon, renvoie « false ».

bool QTextDocumentWriter::write(const QTextDocumentFragment &fragment)

Écrit le fragment de document spécifié par ` fragment ` sur le périphérique ou dans le fichier indiqué et renvoie ` true ` en cas de succès ; sinon, renvoie ` 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.