Класс QTextDocumentWriter
Класс QTextDocumentWriter предоставляет независимый от формата интерфейс для записи документа QTextDocument в файлы или другие устройства. Подробнее...
| Заголовок: | #include <QTextDocumentWriter> |
| qmake: | QT += gui |
| С момента: | Qt 4.5 |
Этот класс был представлен в Qt 4.5.
Открытые функции
| QTextDocumentWriter(const QString &fileName, const QByteArray &format = QByteArray()) | |
| QTextDocumentWriter(QIODevice *device, const QByteArray &format) | |
| QTextDocumentWriter() | |
| ~QTextDocumentWriter() | |
| QTextCodec * | codec() const |
| QIODevice * | device() const |
| QString | fileName() const |
| QByteArray | format() const |
| void | setCodec(QTextCodec *codec) |
| 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 с именем файла или объектом устройства и укажите формат документа для записи. Вы можете создать writer и установить формат с помощью setFormat() позже.
Вызовите write(), чтобы записать документ в устройство. Если документ успешно записан, эта функция возвращает true. Однако, если при записи документа произошла ошибка, она вернёт false.
Вызовите supportedDocumentFormats() для получения списка форматов, которые QTextDocumentWriter может записывать.
Поскольку возможности поддерживаемых форматов вывода сильно различаются, writer просто выводит соответствующую подмножество объектов для каждого формата. Это обычно включает форматированный текст и изображения, содержащиеся в документе.
Документация по функциям-членам
QTextDocumentWriter::QTextDocumentWriter(const QString &fileName, const QByteArray &format = QByteArray())
Создаёт объект QTextDocumentWriter, который будет записывать в файл с именем fileName, используя формат документа, указанный format. Если format не предоставлен, QTextDocumentWriter определит формат документа, проанализировав расширение fileName.
QTextDocumentWriter::QTextDocumentWriter(QIODevice *device, const QByteArray &format)
Создаёт объект QTextDocumentWriter для записи в указанное device в формате документа, указанном format.
QTextDocumentWriter::QTextDocumentWriter()
Создаёт пустой объект QTextDocumentWriter. Перед записью необходимо вызвать setFormat() для установки формата документа, а затем setDevice() или setFileName().
QTextDocumentWriter::~QTextDocumentWriter()
Уничтожает объект QTextDocumentWriter.
QTextCodec *QTextDocumentWriter::codec() const
Возвращает кодек, который в настоящее время назначен writer.
См. также setCodec().
QIODevice *QTextDocumentWriter::device() const
Возвращает текущее назначенное устройство или nullptr, если устройство не было назначено.
См. также setDevice().
QString QTextDocumentWriter::fileName() const
Если текущее назначенное устройство является QFile, или если был вызван setFileName(), эта функция возвращает имя файла, в который будет записано. Во всех других случаях возвращает пустую строку.
См. также setFileName() и setDevice().
QByteArray QTextDocumentWriter::format() const
Возвращает формат, используемый для записи документов.
См. также setFormat().
void QTextDocumentWriter::setCodec(QTextCodec *codec)
Устанавливает кодек для этого потока в codec. Кодек используется для кодирования любых данных, которые записываются. По умолчанию, QTextDocumentWriter использует UTF-8.
См. также codec().
void QTextDocumentWriter::setDevice(QIODevice *device)
Устанавливает устройство writer на указанное device. Если устройство уже было установлено, старое устройство удаляется, но в остальном остаётся без изменений.
Если устройство ещё не открыто, QTextDocumentWriter попытается открыть устройство в режиме QIODevice::WriteOnly, вызвав open().
Примечание: Это не будет работать для определённых устройств, таких как QProcess, QTcpSocket и QUdpSocket, где требуется некоторая конфигурация перед открытием устройства.
См. также device() и setFileName().
void QTextDocumentWriter::setFileName(const QString &fileName)
Устанавливает имя файла, в который будет записано, в fileName. Внутренне, QTextDocumentWriter создаст QFile и откроет его в режиме QIODevice::WriteOnly и будет использовать этот файл при записи документа.
См. также fileName() и setDevice().
void QTextDocumentWriter::setFormat(const QByteArray &format)
Устанавливает формат, используемый для записи документов, в format. format - это текстовая строка, не чувствительная к регистру. Например:
QTextDocumentWriter writer;
writer.setFormat("odf"); // same as writer.setFormat("ODF"); Вы можете вызвать supportedDocumentFormats() для получения полного списка форматов, которые поддерживает QTextDocumentWriter.
См. также format().
[static] QList<QByteArray> QTextDocumentWriter::supportedDocumentFormats()
Возвращает список форматов документов, поддерживаемых QTextDocumentWriter.
По умолчанию Qt может записать следующие форматы:
| Формат | Описание |
|---|---|
| plaintext | Простой текст |
| HTML | HyperText Markup Language |
| markdown | Markdown (CommonMark или диалекты GitHub) |
| ODF | Формат OpenDocument |
См. также setFormat().
bool QTextDocumentWriter::write(const QTextDocument *document)
Записывает заданный документ document в назначенное устройство или файл и возвращает true при успехе; в противном случае возвращает false.
bool QTextDocumentWriter::write(const QTextDocumentFragment &fragment)
Записывает фрагмент документа, заданный fragment, в назначенное устройство или файл и возвращает true при успехе; в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qtextdocumentwriter.html