qdirmodel.h

来自「QT 开发环境里面一个很重要的文件」· C头文件 代码 · 共 155 行

H
155
字号
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QDIRMODEL_H#define QDIRMODEL_H#include <QtCore/qabstractitemmodel.h>#include <QtCore/qdir.h>#include <QtCore/qfileinfo.h>#include <QtGui/qicon.h>QT_BEGIN_HEADERQT_MODULE(Gui)#ifndef QT_NO_DIRMODELclass QDirModelPrivate;class QFileIconProviderPrivate;class Q_GUI_EXPORT QFileIconProvider{public:    QFileIconProvider();    virtual ~QFileIconProvider();    enum IconType { Computer, Desktop, Trashcan, Network, Drive, Folder, File };    virtual QIcon icon(IconType type) const;    virtual QIcon icon(const QFileInfo &info) const;    virtual QString type(const QFileInfo &info) const;private:    Q_DECLARE_PRIVATE(QFileIconProvider)    QFileIconProviderPrivate *d_ptr;    Q_DISABLE_COPY(QFileIconProvider)};class Q_GUI_EXPORT QDirModel : public QAbstractItemModel{    Q_OBJECT    Q_PROPERTY(bool resolveSymlinks READ resolveSymlinks WRITE setResolveSymlinks)    Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly)    Q_PROPERTY(bool lazyChildCount READ lazyChildCount WRITE setLazyChildCount)public:    enum Roles {        FileIconRole = Qt::DecorationRole,        FilePathRole = Qt::UserRole + 1,        FileNameRole    };    QDirModel(const QStringList &nameFilters, QDir::Filters filters,              QDir::SortFlags sort, QObject *parent = 0);    explicit QDirModel(QObject *parent = 0);    ~QDirModel();    QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;    QModelIndex parent(const QModelIndex &child) const;    int rowCount(const QModelIndex &parent = QModelIndex()) const;    int columnCount(const QModelIndex &parent = QModelIndex()) const;    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;    bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);    QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;    bool hasChildren(const QModelIndex &index = QModelIndex()) const;    Qt::ItemFlags flags(const QModelIndex &index) const;    void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);    QStringList mimeTypes() const;    QMimeData *mimeData(const QModelIndexList &indexes) const;    bool dropMimeData(const QMimeData *data, Qt::DropAction action,                      int row, int column, const QModelIndex &parent);    Qt::DropActions supportedDropActions() const;    // QDirModel specific API    void setIconProvider(QFileIconProvider *provider);    QFileIconProvider *iconProvider() const;    void setNameFilters(const QStringList &filters);    QStringList nameFilters() const;    void setFilter(QDir::Filters filters);    QDir::Filters filter() const;    void setSorting(QDir::SortFlags sort);    QDir::SortFlags sorting() const;    void setResolveSymlinks(bool enable);    bool resolveSymlinks() const;    void setReadOnly(bool enable);    bool isReadOnly() const;    void setLazyChildCount(bool enable);    bool lazyChildCount() const;    void refresh(const QModelIndex &parent = QModelIndex());    QModelIndex index(const QString &path, int column = 0) const;    bool isDir(const QModelIndex &index) const;    QModelIndex mkdir(const QModelIndex &parent, const QString &name);    bool rmdir(const QModelIndex &index);    bool remove(const QModelIndex &index);    QString filePath(const QModelIndex &index) const;    QString fileName(const QModelIndex &index) const;    QIcon fileIcon(const QModelIndex &index) const;    QFileInfo fileInfo(const QModelIndex &index) const;#ifdef Q_NO_USING_KEYWORD    inline QObject *parent() const { return QObject::parent(); }#else    using QObject::parent;#endifprotected:    QDirModel(QDirModelPrivate &, QObject *parent = 0);    friend class QFileDialogPrivate;private:    Q_DECLARE_PRIVATE(QDirModel)    Q_DISABLE_COPY(QDirModel)    Q_PRIVATE_SLOT(d_func(), void _q_refresh())};#endif // QT_NO_DIRMODELQT_END_HEADER#endif // QDIRMODEL_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?