Класс QDirModel
Класс QDirModel предоставляет модель данных для локальной файловой системы. Подробнее...
| Заголовок: | #include <QDirModel> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractItemModel |
Этот класс устарел. Он предоставляется для поддержки старого исходного кода. Мы настоятельно рекомендуем не использовать его в новом коде.
Типы
| Перечисление | Roles { FileIconRole, FilePathRole, FileNameRole } |
Свойства
- lazyChildCount : bool
- readOnly : bool
- resolveSymlinks : bool
- 1 свойство унаследовано от QObject
Открытые функции
| QDirModel(const QStringList &nameFilters, QDir::Filters filters, QDir::SortFlags sort, QObject *parent = Q_NULLPTR) | |
| QDirModel(QObject *parent = Q_NULLPTR) | |
| ~QDirModel() | |
| QIcon | fileIcon(const QModelIndex &index) const |
| QFileInfo | fileInfo(const QModelIndex &index) const |
| QString | fileName(const QModelIndex &index) const |
| QString | filePath(const QModelIndex &index) const |
| QDir::Filters | filter() const |
| QFileIconProvider * | iconProvider() const |
| QModelIndex | index(const QString &path, int column = 0) const |
| bool | isDir(const QModelIndex &index) const |
| bool | isReadOnly() const |
| bool | lazyChildCount() const |
| QModelIndex | mkdir(const QModelIndex &parent, const QString &name) |
| QStringList | nameFilters() const |
| bool | remove(const QModelIndex &index) |
| bool | resolveSymlinks() const |
| bool | rmdir(const QModelIndex &index) |
| void | setFilter(QDir::Filters filters) |
| void | setIconProvider(QFileIconProvider *provider) |
| void | setLazyChildCount(bool enable) |
| void | setNameFilters(const QStringList &filters) |
| void | setReadOnly(bool enable) |
| void | setResolveSymlinks(bool enable) |
| void | setSorting(QDir::SortFlags sort) |
| QDir::SortFlags | sorting() const |
Переопределённые открытые функции
| virtual int | columnCount(const QModelIndex &parent = QModelIndex()) const |
| virtual QVariant | data(const QModelIndex &index, int role = Qt::DisplayRole) const |
| virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
| virtual Qt::ItemFlags | flags(const QModelIndex &index) const |
| virtual bool | hasChildren(const QModelIndex &parent = QModelIndex()) const |
| virtual QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const |
| virtual QModelIndex | index(int row, int column, const QModelIndex &parent = QModelIndex()) const |
| virtual QMimeData * | mimeData(const QModelIndexList &indexes) const |
| virtual QStringList | mimeTypes() const |
| virtual QModelIndex | parent(const QModelIndex &child) const |
| virtual int | rowCount(const QModelIndex &parent = QModelIndex()) const |
| virtual bool | setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) |
| virtual void | sort(int column, Qt::SortOrder order = Qt::AscendingOrder) |
| virtual Qt::DropActions | supportedDropActions() const |
- 39 открытых функций унаследовано от QAbstractItemModel
- 32 открытых функции унаследовано от QObject
Открытые слоты
| void | refresh(const QModelIndex &parent = QModelIndex()) |
- 2 открытых слота унаследовано от QAbstractItemModel
- 1 открытый слот унаследовано от QObject
Дополнительные унаследованные члены
- 18 сигналов унаследовано от QAbstractItemModel
- 2 сигнала унаследовано от QObject
- 11 статических открытых членов унаследовано от QObject
- 19 защищённых функций унаследовано от QAbstractItemModel
- 9 защищённых функций унаследовано от QObject
- 1 защищённый слот унаследовано от QAbstractItemModel
Подробное описание
Класс QDirModel предоставляет модель данных для локальной файловой системы.
Использование QDirModel больше не рекомендуется. Класс QFileSystemModel является более производительной альтернативой.
Этот класс предоставляет доступ к локальной файловой системе, предоставляя функции для переименования и удаления файлов и каталогов, а также для создания новых каталогов. В простейшем случае его можно использовать с подходящим виджетом отображения в качестве части браузера или файлового менеджера.
QDirModel сохраняет кэш с информацией о файлах. Кэш необходимо обновлять с помощью refresh().
QDirModel можно использовать с помощью стандартного интерфейса, предоставляемого QAbstractItemModel, но он также предоставляет некоторые удобные функции, специфичные для модели каталога. Функции fileInfo() и isDir() предоставляют информацию об основных файлах и каталогах, связанных с элементами в модели.
Каталоги можно создавать и удалять, используя mkdir(), rmdir(), и модель автоматически обновится, чтобы учесть изменения.
Примечание: QDirModel требует экземпляра QApplication.
См. также nameFilters(), setFilter(), filter(), QListView, QTreeView, QFileSystemModel, Пример Dir View и Классы моделей.
Документация типов членов
enum QDirModel::Roles
| Константа | Значение |
|---|---|
QDirModel::FileIconRole |
Qt::DecorationRole |
QDirModel::FilePathRole |
Qt::UserRole + 1 |
QDirModel::FileNameRole |
? |
Документация свойств
lazyChildCount : bool
Это свойство указывает, оптимизирует ли модель каталога функцию hasChildren, чтобы проверять только, является ли элемент каталогом.
Если это свойство установлено в false, модель каталога будет проверять, содержит ли каталог файлы, прежде чем сообщать о наличии дочерних элементов. В противном случае модель каталога сообщит, что элемент имеет дочерние элементы, если элемент является каталогом.
Это свойство установлено в false по умолчанию.
Функции доступа:
| bool | lazyChildCount() const |
| void | setLazyChildCount(bool enable) |
readOnly : bool
Это свойство указывает, разрешает ли модель каталога запись в файловую систему.
Если это свойство установлено в false, модель каталога разрешит переименование, копирование и удаление файлов и каталогов.
Это свойство установлено в true по умолчанию.
Функции доступа:
| bool | isReadOnly() const |
| void | setReadOnly(bool enable) |
resolveSymlinks : bool
Это свойство указывает, должна ли модель каталога разрешать символические ссылки.
Это актуально только на операционных системах, поддерживающих символические ссылки.
Функции доступа:
| bool | resolveSymlinks() const |
| void | setResolveSymlinks(bool enable) |
Документация функций членов
QDirModel::QDirModel(const QStringList &nameFilters, QDir::Filters filters, QDir::SortFlags sort, QObject *parent = Q_NULLPTR)
Создает новую модель каталога с заданным parent. В модель включаются только те файлы, которые соответствуют nameFilters и filters. Порядок сортировки задается флагами sort.
QDirModel::QDirModel(QObject *parent = Q_NULLPTR)
Создает модель каталога с заданным parent.
QDirModel::~QDirModel()
Уничтожает эту модель каталога.
[virtual] int QDirModel::columnCount(const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::columnCount().
Возвращает количество столбцов в элементе модели parent.
[virtual] QVariant QDirModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const
Переопределено из QAbstractItemModel::data().
Возвращает данные для элемента модели index с заданным role.
См. также setData().
[virtual] bool QDirModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
Переопределено из QAbstractItemModel::dropMimeData().
Обрабатывает data, предоставленный операцией перетаскивания, которая закончилась заданным action над строкой в модели, заданной row, column и parent индексом.
Возвращает true, если перетаскивание прошло успешно, и false в противном случае.
См. также supportedDropActions().
QIcon QDirModel::fileIcon(const QModelIndex &index) const
Возвращает значки для элемента, хранящегося в модели по заданному index.
QFileInfo QDirModel::fileInfo(const QModelIndex &index) const
Возвращает информацию о файле для указанного индекса модели index.
Примечание: Если индекс модели представляет собой символическую ссылку в основной файловой системе, информация о файле, возвращаемая функцией, будет содержать информацию о самой символической ссылке, независимо от того, включено ли resolveSymlinks или нет.
См. также QFileInfo::symLinkTarget().
QString QDirModel::fileName(const QModelIndex &index) const
Возвращает имя элемента, хранящегося в модели по заданному index.
QString QDirModel::filePath(const QModelIndex &index) const
Возвращает путь к элементу, хранящемуся в модели по заданному index.
QDir::Filters QDirModel::filter() const
Возвращает спецификацию фильтра для модели каталога.
См. также setFilter() и QDir::Filters.
[virtual] Qt::ItemFlags QDirModel::flags(const QModelIndex &index) const
Переопределено из QAbstractItemModel::flags().
Возвращает флаги элемента для заданного index в модели.
См. также Qt::ItemFlags.
[virtual] bool QDirModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::hasChildren().
Возвращает true, если элемент модели parent имеет дочерние элементы; в противном случае возвращает false.
[virtual] QVariant QDirModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
Переопределено из QAbstractItemModel::headerData().
Возвращает данные, хранящиеся по заданному role для указанного section заголовка с заданной orientation.
QFileIconProvider *QDirModel::iconProvider() const
Возвращает поставщик значков файлов для этой модели каталога.
См. также setIconProvider().
[virtual] QModelIndex QDirModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::index().
Возвращает индекс элемента модели для элемента в parent с заданным row и column.
QModelIndex QDirModel::index(const QString &path, int column = 0) const
Это перегруженная функция.
Возвращает индекс элемента модели для заданного path.
bool QDirModel::isDir(const QModelIndex &index) const
Возвращает true если элемент модели index представляет каталог; в противном случае возвращает false.
[virtual] QMimeData *QDirModel::mimeData(const QModelIndexList &indexes) const
Переопределено из QAbstractItemModel::mimeData().
Возвращает объект, содержащий сериализованное описание указанных indexes. Формат описания элементов, соответствующих индексам, получен из функции mimeTypes().
Если список индексов пустой, возвращается 0, а не сериализованный пустой список.
[virtual] QStringList QDirModel::mimeTypes() const
Переопределено из QAbstractItemModel::mimeTypes().
Возвращает список типов MIME, которые могут быть использованы для описания списка элементов в модели.
QModelIndex QDirModel::mkdir(const QModelIndex &parent, const QString &name)
Создаёт каталог с именем name в элементе родительской модели parent.
QStringList QDirModel::nameFilters() const
Возвращает список фильтров, применённых к именам в модели.
См. также setNameFilters().
[virtual] QModelIndex QDirModel::parent(const QModelIndex &child) const
Переопределено из QAbstractItemModel::parent().
Возвращает родительский элемент для заданного дочернего элемента child модели.
[slot] void QDirModel::refresh(const QModelIndex &parent = QModelIndex())
QDirModel кэширует информацию о файлах. Эта функция обновляет кэш. Параметр parent — это каталог, из которого модель обновляется; значение по умолчанию обновит модель с корневого каталога файловой системы (вся модель).
bool QDirModel::remove(const QModelIndex &index)
Удаляет элемент модели index из модели каталога и удаляет соответствующий файл из файловой системы, возвращая true при успехе. Если элемент удалить нельзя, возвращается false.
Предупреждение: Эта функция удаляет файлы из файловой системы; она не перемещает их в место, где их можно восстановить.
См. также rmdir().
bool QDirModel::rmdir(const QModelIndex &index)
Удаляет каталог, соответствующий элементу модели index в модели каталога, и удаляет соответствующий каталог из файловой системы, возвращая true при успехе. Если каталог удалить нельзя, возвращается false.
Предупреждение: Эта функция удаляет каталоги из файловой системы; она не перемещает их в место, где их можно восстановить.
См. также remove().
[virtual] int QDirModel::rowCount(const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::rowCount().
Возвращает количество строк в элементе родительской модели parent.
[virtual] bool QDirModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
Переопределено из QAbstractItemModel::setData().
Устанавливает данные для элемента модели index с заданным role на данные, на которые ссылается value. Возвращает true при успехе; в противном случае возвращает false.
См. также data() и Qt::ItemDataRole.
void QDirModel::setFilter(QDir::Filters filters)
Устанавливает фильтр модели каталога на тот, что задан filters.
Обратите внимание, что задаваемый вами фильтр всегда должен включать значение перечисления QDir::AllDirs, в противном случае QDirModel не сможет прочитать структуру каталогов.
См. также filter() и QDir::Filters.
void QDirModel::setIconProvider(QFileIconProvider *provider)
Устанавливает provider значков файлов для модели каталога.
См. также iconProvider().
void QDirModel::setNameFilters(const QStringList &filters)
Устанавливает фильтры имён filters для модели каталога.
См. также nameFilters().
void QDirModel::setSorting(QDir::SortFlags sort)
Устанавливает порядок сортировки модели каталога на тот, что задан sort.
См. также sorting() и QDir::SortFlags.
[virtual] void QDirModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
Переопределено из QAbstractItemModel::sort().
Сортирует элементы модели в column, используя заданный order. Порядок — значение, определённое в Qt::SortOrder.
QDir::SortFlags QDirModel::sorting() const
Возвращает метод сортировки, используемый для модели каталога.
См. также setSorting() и QDir::SortFlags.
[virtual] Qt::DropActions QDirModel::supportedDropActions() const
Переопределено из QAbstractItemModel::supportedDropActions().
Возвращает поддерживаемые действия перемещения в эту модель.
См. также Qt::DropActions.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qdirmodel.html