Spec-Zone.ru › Qt 5.15

Класс QDirModel

Класс QDirModel предоставляет модель данных для локальной файловой системы. Подробнее...

Заголовок: #include <QDirModel>
qmake: QT += widgets
Наследует: QAbstractItemModel

Этот класс устарел. Он предоставляется для сохранения работоспособности старого исходного кода. Мы настоятельно рекомендуем не использовать его в новом коде.

  • Список всех членов, включая унаследованные

Типы public

перечисление Roles { FileIconRole, FilePathRole, FileNameRole }

Свойства

  • lazyChildCount : bool
  • readOnly : bool
  • resolveSymlinks : bool

Функции public

QDirModel(QObject *parent = nullptr)
QDirModel(const QStringList &nameFilters, QDir::Filters filters, QDir::SortFlags sort, QObject *parent = nullptr)
virtual ~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

Реализованные функции public

virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
virtual QMimeData * mimeData(const QModelIndexList &indexes) const override
virtual QStringList mimeTypes() const override
virtual QModelIndex parent(const QModelIndex &child) const override
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override
virtual Qt::DropActions supportedDropActions() const override

Слот public

void refresh(const QModelIndex &parent = QModelIndex())

Подробное описание

Использование QDirModel больше не рекомендуется. Класс QFileSystemModel является более эффективной альтернативой.

Этот класс предоставляет доступ к локальной файловой системе, предоставляя функции для переименования и удаления файлов и каталогов, а также для создания новых каталогов. В простейшем случае его можно использовать с подходящим виджетом отображения в качестве части браузера или файлового менеджера.

QDirModel хранит кэш с информацией о файлах. Кэш необходимо обновлять с помощью refresh().

К QDirModel можно получить доступ с помощью стандартного интерфейса, предоставляемого классом QAbstractItemModel, но он также предоставляет некоторые удобные функции, специфичные для модели каталогов. Функции fileInfo() и isDir() предоставляют информацию об основных файлах и каталогах, связанных с элементами в модели.

Каталоги можно создавать и удалять с помощью mkdir(), rmdir(), и модель автоматически обновится, чтобы учесть изменения.

Примечание: QDirModel требует экземпляра QApplication.

END_OF_DOCUMENT_MARKER

См. также nameFilters(), setFilter(), filter(), QListView, QTreeView, QFileSystemModel, Пример просмотра каталогов и Классы моделей.

Документация типов членов

enum QDirModel::Roles

Константа Значение
QDirModel::FileIconRole Qt::DecorationRole
QDirModel::FilePathRole Qt::UserRole + 1
QDirModel::FileNameRole 258

Документация свойств

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(QObject *parent = nullptr)

Создаёт модель каталога с заданным parent.

QDirModel::QDirModel(const QStringList &nameFilters, QDir::Filters filters, QDir::SortFlags sort, QObject *parent = nullptr)

Создаёт новую модель каталога с заданным parent. В модель включаются только те файлы, которые соответствуют nameFilters и filters. Порядок сортировки задаётся флагами sort.

void QDirModel::refresh(const QModelIndex &parent = QModelIndex())

QDirModel кэширует информацию о файлах. Эта функция обновляет кэш. Параметр parent — это каталог, из которого обновляется модель; значение по умолчанию обновит модель с корневого каталога файловой системы (вся модель).

QDirModel::~QDirModel()

Уничтожает эту модель каталога.

int QDirModel::columnCount(const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::columnCount(const QModelIndex &parent) const.

Возвращает количество столбцов в элементе модели parent.

QVariant QDirModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const

Переопределяет: QAbstractItemModel::data(const QModelIndex &index, int role) const.

Возвращает данные для элемента модели index с заданным role.

См. также setData().

bool QDirModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

Переопределяет: QAbstractItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).

Обрабатывает 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.

Qt::ItemFlags QDirModel::flags(const QModelIndex &index) const

Переопределяет: QAbstractItemModel::flags(const QModelIndex &index) const.

Возвращает флаги элемента для данного индекса index в модели.

См. также Qt::ItemFlags.

bool QDirModel::hasChildren(const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::hasChildren(const QModelIndex &parent) const.

Возвращает true, если у элемента модели parent есть подкаталоги; в противном случае возвращает false.

QVariant QDirModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const

Переопределяет: QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const.

Возвращает данные, хранящиеся по указанному role для указанного section заголовка с заданным orientation.

QFileIconProvider *QDirModel::iconProvider() const

Возвращает поставщик значков файлов для этой модели каталога.

См. также setIconProvider().

QModelIndex QDirModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const.

Возвращает индекс элемента модели для элемента в parent с заданным row и column.

QModelIndex QDirModel::index(const QString &path, int column = 0) const

Это перегруженный метод.

Возвращает индекс элемента модели для заданного path.

bool QDirModel::isDir(const QModelIndex &index) const

Возвращает true, если элемент модели index представляет собой директорию; в противном случае возвращает false.

QMimeData *QDirModel::mimeData(const QModelIndexList &indexes) const

Переопределяет: QAbstractItemModel::mimeData(const QModelIndexList &indexes) const.

Возвращает объект, содержащий сериализованное описание указанных indexes. Формат описания элементов, соответствующих индексам, получен из функции mimeTypes().

Если список индексов пуст, возвращается 0, а не сериализованный пустой список.

QStringList QDirModel::mimeTypes() const

Переопределяет: QAbstractItemModel::mimeTypes() const.

Возвращает список типов MIME, которые могут быть использованы для описания списка элементов в модели.

QModelIndex QDirModel::mkdir(const QModelIndex &parent, const QString &name)

Создаёт директорию с именем name в элементе модели parent.

QStringList QDirModel::nameFilters() const

Возвращает список фильтров, применённых к именам в модели.

См. также setNameFilters().

QModelIndex QDirModel::parent(const QModelIndex &child) const

Переопределяет: QAbstractItemModel::parent(const QModelIndex &index) const.

Возвращает родительский элемент модели для данного элемента child.

bool QDirModel::remove(const QModelIndex &index)

Удаляет элемент модели index из модели директорий и удаляет соответствующий файл из файловой системы, возвращая true, если операция выполнена успешно. Если элемент удалить невозможно, возвращается false.

Предупреждение: Эта функция удаляет файлы из файловой системы; она не перемещает их в место, где они могут быть восстановлены.

См. также rmdir().

bool QDirModel::rmdir(const QModelIndex &index)

Удаляет директорию, соответствующую элементу модели index в модели директорий и удаляет соответствующую директорию из файловой системы, возвращая true, если операция выполнена успешно. Если директорию удалить невозможно, возвращается false.

Предупреждение: Эта функция удаляет директории из файловой системы; она не перемещает их в место, где они могут быть восстановлены.

См. также remove().

int QDirModel::rowCount(const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::rowCount(const QModelIndex &parent) const.

Возвращает количество строк в элементе модели parent.

bool QDirModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

Переопределяет: QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role).

Устанавливает данные для элемента модели 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.

void QDirModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)

Переопределяет: QAbstractItemModel::sort(int column, Qt::SortOrder order).

Сортирует элементы модели в column, используя заданный order. Порядок — значение, определённое в Qt::SortOrder.

QDir::SortFlags QDirModel::sorting() const

Возвращает метод сортировки, используемый для модели директорий.

См. также setSorting() и QDir::SortFlags.

Qt::DropActions QDirModel::supportedDropActions() const

Переопределяет: QAbstractItemModel::supportedDropActions() const.

Возвращает поддерживаемые этой моделью действия перемещения.

См. также Qt::DropActions.

Copyright (C) The Qt Company Ltd. and its licensors.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API