Класс 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, указав имя файла или объект устройства, и укажите формат документа для записи. Вы можете создать объект записи и задать формат с помощью setFormat() позже.
Вызовите write() для записи документа в устройство. Если документ записан успешно, эта функция возвращает true. Однако, если при записи документа возникла ошибка, она вернёт false.
Вызовите supportedDocumentFormats() для получения списка форматов, которые может записывать QTextDocumentWriter.
Поскольку возможности поддерживаемых форматов вывода сильно различаются, запись просто выводит соответствующий подмножество объектов для каждого формата. Как правило, это включает отформатированный текст и изображения, содержащиеся в документе.
Документация функций-членов
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
Возвращает кодек, который в настоящее время назначен записывателю.
См. также 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)
Устанавливает устройство записывателя на указанное 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 | Гипертекстовый язык разметки |
| 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.15/qtextdocumentwriter.html