青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::
遍歷一個目錄下的所有文件,使用QDirIterator很方便,不需要自己去實現遞歸:
void Widget::browse() {
    QString path = QFileDialog::getExistingDirectory(this, tr(""), "/Users/Biao/Desktop");
    QDirIterator iter(path, QDirIterator::Subdirectories);

    while (iter.hasNext()) {
        iter.next();
        QFileInfo info = iter.fileInfo();

        if (info.isFile()) {
            qDebug() << info.absoluteFilePath();
        }
    }
    //treeWalk(path);
}


QDirIterator Class Reference

The QDirIterator class provides an iterator for directory entrylists. More...

 #include <QDirIterator>
This class was introduced in Qt 4.3.

List of all members, including inherited members
Public Types

enum IteratorFlag { NoIteratorFlags, Subdirectories, FollowSymlinks }
flags IteratorFlags
Public Functions

QDirIterator ( const QDir & dir, IteratorFlags flags = NoIteratorFlags )
QDirIterator ( const QString & path, IteratorFlags flags = NoIteratorFlags )
QDirIterator ( const QString & path, QDir::Filters filters, IteratorFlags flags = NoIteratorFlags )
QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )
virtual ~QDirIterator ()
QFileInfo fileInfo () const
QString fileName () const
QString filePath () const
bool hasNext () const
QString next ()
QString path () const
Detailed Description

The QDirIterator class provides an iterator for directory entrylists.

You can use QDirIterator to navigate entries of a directory one at a time. It is similar to QDir::entryList() and QDir::entryInfoList(), but because it lists entries one at a time instead of all at once, it scales better and is more suitable for large directories. It also supports listing directory contents recursively, and following symbolic links. Unlike QDir::entryList(), QDirIterator does not support sorting.

The QDirIterator constructor takes a QDir or a directory as argument. After construction, the iterator is located before the first directory entry. Here's how to iterate over all the entries sequentially:

 QDirIterator it("/etc", QDirIterator::Subdirectories);
 while (it.hasNext()) {
     qDebug() << it.next();

     // /etc/.
     // /etc/..
     // /etc/X11
     // /etc/X11/fs
     // ...
 }
The next() function returns the path to the next directory entry and advances the iterator. You can also call filePath() to get the current file path without advancing the iterator. The fileName() function returns only the name of the file, similar to how QDir::entryList() works. You can also call fileInfo() to get a QFileInfo for the current entry.

Unlike Qt's container iterators, QDirIterator is uni-directional (i.e., you cannot iterate directories in reverse order) and does not allow random access.

QDirIterator works with all supported file engines, and is implemented using QAbstractFileEngineIterator.

See also QDir, QDir::entryList(), and QAbstractFileEngineIterator.

Member Type Documentation

enum QDirIterator::IteratorFlag
flags QDirIterator::IteratorFlags

This enum describes flags that you can combine to configure the behavior of QDirIterator.

Constant Value Description
QDirIterator::NoIteratorFlags 0x0 The default value, representing no flags. The iterator will return entries for the assigned path.
QDirIterator::Subdirectories 0x2 List entries inside all subdirectories as well.
QDirIterator::FollowSymlinks 0x1 When combined with Subdirectories, this flag enables iterating through all subdirectories of the assigned path, following all symbolic links. Symbolic link loops (e.g., "link" => "." or "link" => "..") are automatically detected and ignored.
The IteratorFlags type is a typedef for QFlags<IteratorFlag>. It stores an OR combination of IteratorFlag values.

Member Function Documentation

QDirIterator::QDirIterator ( const QDir & dir, IteratorFlags flags = NoIteratorFlags )

Constructs a QDirIterator that can iterate over dir's entrylist, using dir's name filters and regular filters. You can pass options via flags to decide how the directory should be iterated.

By default, flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().

The sorting in dir is ignored.

Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.

See also hasNext(), next(), and IteratorFlags.

QDirIterator::QDirIterator ( const QString & path, IteratorFlags flags = NoIteratorFlags )

Constructs a QDirIterator that can iterate over path. You can pass options via flags to decide how the directory should be iterated.

By default, flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().

Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.

See also hasNext(), next(), and IteratorFlags.

QDirIterator::QDirIterator ( const QString & path, QDir::Filters filters, IteratorFlags flags = NoIteratorFlags )

Constructs a QDirIterator that can iterate over path, with no name filtering and filters for entry filtering. You can pass options via flags to decide how the directory should be iterated.

By default, filters is QDir::NoFilter, and flags is NoIteratorFlags, which provides the same behavior as in QDir::entryList().

Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.

See also hasNext(), next(), and IteratorFlags.

QDirIterator::QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )

Constructs a QDirIterator that can iterate over path, using nameFilters and filters. You can pass options via flags to decide how the directory should be iterated.

By default, flags is NoIteratorFlags, which provides the same behavior as QDir::entryList().

Note: To list symlinks that point to non existing files, QDir::System must be passed to the flags.

See also hasNext(), next(), and IteratorFlags.

QDirIterator::~QDirIterator () [virtual]

Destroys the QDirIterator.

QFileInfo QDirIterator::fileInfo () const

Returns a QFileInfo for the current directory entry.

See also filePath() and fileName().

QString QDirIterator::fileName () const

Returns the file name for the current directory entry, without the path prepended.

This function is convenient when iterating a single directory. When using the QDirIterator::Subdirectories flag, you can use filePath() to get the full path.

See also filePath() and fileInfo().

QString QDirIterator::filePath () const

Returns the full file path for the current directory entry.

See also fileInfo() and fileName().

bool QDirIterator::hasNext () const

Returns true if there is at least one more entry in the directory; otherwise, false is returned.

See also next(), fileName(), filePath(), and fileInfo().

QString QDirIterator::next ()

Advances the iterator to the next entry, and returns the file path of this new entry. If hasNext() returns false, this function does nothing, and returns a null QString.

You can call fileName() or filePath() to get the current entry file name or path, or fileInfo() to get a QFileInfo for the current entry.

See also hasNext(), fileName(), filePath(), and fileInfo().

QString QDirIterator::path () const

Returns the base directory of the iterator.
posted on 2011-12-02 00:19 逛奔的蝸牛 閱讀(6961) 評論(0)  編輯 收藏 引用 所屬分類: Qt
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品在线一区二区| 欧美国产日韩在线| 亚洲免费成人| 亚洲一区视频在线观看视频| 欧美在线观看一区二区三区| 久久精品视频亚洲| 欧美激情免费在线| 亚洲午夜久久久久久久久电影网| 蜜桃精品一区二区三区| 亚洲第一主播视频| 亚洲最新视频在线播放| 欧美一区二区三区另类| 亚洲视频自拍偷拍| 欧美v亚洲v综合ⅴ国产v| 国产欧美精品| 久久免费精品日本久久中文字幕| 欧美一区二区三区视频免费| 欧美成人免费播放| 日韩亚洲精品电影| 久久久精彩视频| 久久久久在线| 欧美成人精品不卡视频在线观看 | 麻豆视频一区二区| 国产精品久久久久一区| 亚洲激情国产| 久热精品视频在线观看| 亚洲在线成人精品| 欧美日韩国产页| 亚洲人成网站777色婷婷| 欧美一级视频一区二区| 一本色道久久综合亚洲精品小说| 亚洲一品av免费观看| 欧美精选在线| 日韩午夜精品视频| 亚洲国产高潮在线观看| 99精品热视频| 欧美日韩视频在线第一区| 国产精品欧美日韩| 精品1区2区3区4区| 久久裸体视频| 欧美在线视频网站| 国产一区二区三区不卡在线观看 | 国产欧美精品日韩精品| 亚洲欧美综合另类中字| 99综合精品| 欧美日韩亚洲一区二区三区| 一区二区三区久久久| 亚洲精品一区二区三区在线观看 | 亚洲精品中文字幕在线| 欧美精品七区| 一本高清dvd不卡在线观看| 亚洲国产婷婷综合在线精品 | 欧美在线视频日韩| 欧美亚洲视频一区二区| 欧美理论在线| 亚洲影音一区| 亚洲欧洲av一区二区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲国产精品久久久久婷婷老年 | 午夜精品久久久久久久久| 国产亚洲一区在线| 久久久噜久噜久久综合| 亚洲韩日在线| 一本色道久久88综合亚洲精品ⅰ| 麻豆91精品91久久久的内涵| 亚洲免费观看高清完整版在线观看| 欧美在线视频免费播放| 中文日韩欧美| 精品电影一区| 91久久久国产精品| 国产精品婷婷| 欧美a级一区| 欧美三级欧美一级| 玖玖玖免费嫩草在线影院一区| 在线中文字幕一区| 一区二区三区在线免费视频| 久久gogo国模啪啪人体图| 久久躁狠狠躁夜夜爽| 99热免费精品| 久久精品人人做人人爽| 一本久道久久久| 亚洲精选一区二区| 韩国视频理论视频久久| 夜夜躁日日躁狠狠久久88av| 国产在线麻豆精品观看| 999亚洲国产精| 亚洲国产婷婷| 午夜视频在线观看一区| 亚洲蜜桃精久久久久久久| 欧美一区日韩一区| 黄色成人片子| 亚洲影视在线播放| 99国产精品99久久久久久粉嫩| 亚洲高清资源综合久久精品| 国产欧美一区二区三区另类精品 | 1024成人| 亚洲免费综合| 99这里只有精品| 99综合视频| 日韩亚洲综合在线| 国产精品99久久久久久久久久久久| 亚洲高清不卡| 激情成人综合| 亚洲影音一区| 亚洲欧美日产图| 欧美午夜激情在线| 亚洲精品视频免费| 国产精品一区二区在线观看| 亚洲免费成人| 亚洲深夜福利| 麻豆久久婷婷| 亚洲午夜精品17c| 欧美日韩一区二区在线视频 | 亚洲国产精品t66y| 欧美一区二区三区在线免费观看| 激情av一区| 欧美在线视频导航| 欧美日韩一二三四五区| 欧美一二三视频| 亚洲欧美国产77777| 激情文学一区| 久久久久久久波多野高潮日日| 亚洲福利免费| 噜噜噜91成人网| 蜜臀久久99精品久久久久久9| 欧美日韩精品在线视频| 日韩亚洲欧美成人一区| 在线视频欧美一区| 久久久久久久波多野高潮日日| 99精品国产热久久91蜜凸| 欧美一区二区三区免费视| 久久精品国产亚洲精品| 国产情侣久久| 久久麻豆一区二区| 欧美wwwwww| 日韩天堂在线观看| 久久久蜜臀国产一区二区| 免费一区视频| 亚洲老司机av| 国产精品激情偷乱一区二区∴| 欧美大色视频| 国产亚洲女人久久久久毛片| 久久香蕉精品| 亚洲免费播放| 欧美在线播放视频| 亚洲国产1区| 欧美日韩在线视频一区二区| 免费在线看一区| 正在播放欧美视频| 国产婷婷一区二区| 亚洲一区在线观看视频| 免费成人黄色片| 激情久久婷婷| 欧美日韩午夜剧场| 欧美一区二视频| 亚洲日本欧美| 久久狠狠亚洲综合| 国产欧美视频在线观看| 女人天堂亚洲aⅴ在线观看| 在线视频亚洲| 欧美大片免费| 午夜久久福利| 日韩午夜激情av| 国外成人性视频| 欧美香蕉大胸在线视频观看| 欧美一级午夜免费电影| 亚洲精品视频一区二区三区| 久久午夜精品| 亚洲一区二区不卡免费| 亚洲国产精品一区二区www在线| 久久久噜噜噜久久中文字免| 久久亚洲免费| 午夜精品久久久久久久99樱桃| 国产精品theporn| 开元免费观看欧美电视剧网站| 免费中文日韩| 亚洲青色在线| 在线日韩欧美视频| 欧美日韩一区二区在线| 免费人成网站在线观看欧美高清| 欧美国产丝袜视频| 久久综合网色—综合色88| 午夜精品久久久久| 亚洲免费网站| 亚洲视频一区二区在线观看| 亚洲精选视频免费看| 一区二区三区无毛| 国产一区免费视频| 国产欧美日韩一区二区三区在线观看 | 亚洲黄色小视频| 国产自产高清不卡| 国产区精品在线观看| 国产精品高清免费在线观看| 欧美好骚综合网| 欧美va亚洲va香蕉在线| 老司机凹凸av亚洲导航| 久久久久.com| 久久中文字幕一区二区三区| 久久精品国产欧美亚洲人人爽| 亚洲国产你懂的|