Класс 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
- 31 публичных функций унаследовано от 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/archives/qt-5.6/qdirmodel.html