Архив рубрики: Работа с файлами и директориями в Qt

Взаимодействия Qt с файлами и директориями

QIODevice

QIODevice предоставляет как общую реализацию, так и абстрактный интерфейс для устройств, которые поддерживают чтение и запись блоков данных, таких как QFile, QBuffer и QTcpSocket. QIODevice является абстрактным и не может быть реализован, но обычно используется интерфейс который он определяет, чтобы обеспечить независимые от устройства функции ввода / вывода. Перед доступом к устройству необходимо вызвать open(),… Читать далее »

QFileInfo

Данный класс представляет возможность получении информации о свойствах файлов или каталогах. К таким свойствам можно отнести сведенье об имени файла, пути файла, правах доступа, размер и многое другое. Рассмотрим по подробней несколько методов получения свойств файла. Получение атрибутов QFileInfo Проверка на файл или каталог: Возвращает true при совпадении Получение полного пути к файлу: Получить размер… Читать далее »

QTextStream

Класс для работы с текстовой информацией. Использует потоковые операторы, унаследован от QIODevice.  Реализует чтение и запись через методы << (запись в поток) и >> (чтение из потока). Числовые данные передаваемые в потоке автоматически преобразуются в текст. Для того чтобы числа записались в файл в читабельном виде можно задать ширину поля qSetFieldWidth() или setFieldWidth(). Для примера… Читать далее »

QDataStream

Поток данных — это двоичный поток кодированной информации, который не зависит от операционной системы хост-компьютера, порядка процессора или байтов. Например, поток данных, записываемый ПК под Windows, может быть прочитан под Linux. Так же можно использовать поток данных для чтения / записи сырых не кодированных двоичных данных. Класс QDataStream реализует сериализацию основных типов данных C ++,… Читать далее »

QBuffer

QBuffer позволяет получить доступ к QByteArray, используя интерфейс QIODevice. QByteArray обрабатывается как стандартный файл с произвольным доступом. По умолчанию при создании QBuffer создается внутренний буфер QByteArray. К которому можно получить доступ напрямую, вызвав buffer(). Также можно использовать QBuffer с существующим QByteArray, вызвав setBuffer() или передав свой массив конструктору QBuffer. Для этого вызвав open(), чтобы открыть… Читать далее »

Сохранение настроек QSettings

Данный класс создан для упрощения сохранения настроек по средствам ini или conf файлов и системном реестре Windows Он представляет платформа независимые настройки приложения и основан на QVariant который позволяет сохранять большинство типов Для определения формата сохранения его необходимо объявить.  Для более поздних версий используется следующие форматы: Использует наиболее подходящий вариант сохранения настроек В Windows это… Читать далее »

Работа с ресурсами — Qt Resource

Система ресурсов Qt является независимым от платформы механизмом хранения двоичных файлов в исполняемом файле приложения. Она основана на взаимодействий qmake  и  компилятором ресурсов rcc. Ресурсы, связанные с приложением, указываются в фале qrc. Данный формат файла основан на XML формате в котором перечислены файлы с относительным путем и при необходимости присваивается имя ресурса для доступа к… Читать далее »

QTemporaryFile

Работа с временными файлами QTemporaryFile QTemporaryFile используется для безопасного создания уникальных временных файлов. Сам файл создается путем вызова open(). Имя временного файла гарантированно будет уникальным и этот файл будет впоследствии удален после уничтожения объекта QTemporaryFile. Повторное открытие QTemporaryFile после вызова close() безопасно. До тех пор, пока сам объект QTemporaryFile не будет уничтожен. Имя временного файла… Читать далее »

Работа с каталогами QDir

Класс QDir обеспечивает доступ к каталогов и их содержимому. Платформонезависимый класс использует «/» в качестве универсального разделителя каталогов так же, как «/» используется в качестве разделителя пути в URL. QDir может указывать на файл, используя относительный или абсолютный путь. Для примера: Для определения пути можно использовать методы isRelative() или isAbsolute(). Для преобразования из относительный в… Читать далее »