Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
develop:qt:files [2021/09/12 13:16] admin |
develop:qt:files [2021/09/22 05:22] (текущий) admin |
||
---|---|---|---|
Строка 10: | Строка 10: | ||
* **QProcess** - работа с процессами | * **QProcess** - работа с процессами | ||
- | Для работы с устройством, | + | Для работы с устройством, |
- | * **QIODevice::NotOpen** - устр-во не открыто (хз зачем вообще) | + | * **NotOpen** - устр-во не открыто (хз зачем вообще) |
- | * **QIODevice::ReadOnly** - только чтение | + | * **ReadOnly** - только чтение |
- | * **QIODevice::WriteOnly** - только запись | + | * **WriteOnly** - только запись |
- | * **QIODevice::ReadWrite** - чтение/ | + | * **ReadWrite** - чтение/ |
- | * **QIODevice::Append** - добавление | + | * **Append** - добавление |
- | * **QIODevice::Unbuffered** - непосредственный доступ к данным, | + | * **Unbuffered** - непосредственный доступ к данным, |
- | * **QIODevice::Text** - преобразование символов переноса (Windows/ | + | * **Text** - преобразование символов переноса (Windows/ |
Метод **openMode()** позволяет узнать в каком режиме открыто устройство.\\ | Метод **openMode()** позволяет узнать в каком режиме открыто устройство.\\ | ||
Строка 78: | Строка 78: | ||
==== Класс QBuffer ==== | ==== Класс QBuffer ==== | ||
----- | ----- | ||
+ | Представляет собой эмуляцию файлов в памяти компьютера. Это позволяет записывать информацию в ОЗУ, и использовать объекты как обычные файлы. Чтение запись можно делать методами **read()** и **write()**, | ||
+ | |||
+ | <code cpp-qt> | ||
+ | QByteArray vArr; | ||
+ | QBuffer vBuffer(& | ||
+ | vBuffer.open(QIODevice:: | ||
+ | QDataStream vOut(& | ||
+ | vOut << QString(" | ||
+ | </ | ||
+ | Из примера видно, что сами данные сохраняются внутри объекта **QByteArray**. Методом **buffer()** можно получить константную ссылку на этот внутренний объект, | ||
+ | а методом **setBuffer()** соответственно установить для использования другой объект.\\ | ||
+ | |||
+ | Метод **data()** идентичен **buffer()**, | ||
+ | |||
+ | В целом, данный класс удобен для кэширования данных.\\ | ||
+ | |||
+ | |||
==== Класс QTemporaryFile ==== | ==== Класс QTemporaryFile ==== | ||
----- | ----- | ||
+ | Предоставляет средства для создания и работы с временными файлами, | ||
+ | Самостоятельно генерирует уникальное имя файла, хранятся файлы в промежуточной директории (**QDir:: | ||
===== Работа с каталогами. Класс QDir ===== | ===== Работа с каталогами. Класс QDir ===== | ||
+ | Представление каталогов в платформонезависимом виде.\\ | ||
+ | Имеет ряд статических методов (**QDir:: | ||
+ | * **current()** - текущий каталог приложения | ||
+ | * **root()** - корневой каталог | ||
+ | * **drivers()** - список с узловыми каталогами, | ||
+ | * **home()** - каталог пользователя | ||
+ | |||
+ | Данный класс не предоставляет методов для определения каталога из которого запущено приложение, | ||
+ | |||
+ | Существование можно определить **exist()**. Для перемещения используются **cd()**, **cdUp()**, **cd(" | ||
+ | Для конвертирования относительного пути к абсолютному- **makeAbsolute()**.\\ | ||
+ | |||
==== Содержимое каталога ==== | ==== Содержимое каталога ==== | ||
----- | ----- | ||
+ | |||
+ | Метод **entryList()** возвращает перечень содержимого, | ||
+ | Отобразить можно с помощью представления, | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <code cpp-qt> | ||
+ | /*...*/ | ||
+ | QDir *vDirectory= new QDir(this-> | ||
+ | QListWidget viewListResults-> | ||
+ | /*...*/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||