Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1695686
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: WINDOWS

2011-05-17 17:04:32

  1. QT 创建文件夹

  2. bool QDir::mkdir ( const QString & dirName ) const

  3. 创建一个子目录名为目录名。
  4. 如果成功则返回TRUE,否则返回false。

  5. bool QDir::mkpath ( const QString & dirPath ) const

  6. 创建该目录路径dirPath。
  7. 该函数将创建所有的父目录中的各个子目录。
  8. 如果成功,则返回true,否则返回false。

  9. QT 选择一个文件

  10. QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 ) [static]

  11. 这是一个方便的静态函数,返回一个现有文件由用户选择。如果用户按下取消,则返回一个空字符串。
  12. 示例:

  13. QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
  14. "/home",
  15. tr("Images (*.png *.xpm *.jpg)"));

  16. QT 选择文件夹

  17. QString QFileDialog::getExistingDirectory ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), Options options = ShowDirsOnly ) [static]

  18. 这个函数创建一个具有给定父窗口部件模态文件对话框。如果父母不为0,对话框将显示在父控件为中心。
  19. 该对话框的工作目录设置为目录,并设置标题为标题。上述两种可能是一个空字符串,这种情况下,当前目录和默认标题将分别采用。
  20. options参数包括有关如何运行对话框中,看到QFileDialog各种选项::有关的标志可以传递信息选项枚举。为确保本地文件对话框,ShowDirsOnly必须设置。
  21. 在Windows和Mac OS X中,这个静态函数将使用本地文件对话框,而不是QFileDialog。
  22. 示例:

  23. QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
  24. "/home",
  25. QFileDialog::ShowDirsOnly
  26. | QFileDialog::DontResolveSymlinks);

  27. QT 拷贝 删除文件或文件夹

    1. #include

    2. #include

    3. /*

    4. qCopyDirectory -- 拷贝目录

    5. fromDir : 源目录

    6. toDir : 目标目录

    7. bCoverIfFileExists : ture:同名时覆盖 false:同名时返回false,终止拷贝

    8. 返回: ture拷贝成功 false:拷贝未完成

    9. */

    10. bool qCopyDirectory(const QDir &fromDir, const QDir &toDir, bool bCoverIfFileExists)

    11. {

    12.   QDir formDir_ = fromDir;

    13.   QDir toDir_ = toDir;

    14.   if(!toDir_.exists())

    15.   {

    16.     if(!toDir_.mkdir(toDir.absolutePath()))

    17.       return false;

    18.   }

    19.   QFileInfoList fileInfoList = formDir_.entryInfoList();

    20.   foreach(QFileInfo fileInfo, fileInfoList)

    21.   {

    22.     if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")

    23.       continue;

    24.     //拷贝子目录

    25.     if(fileInfo.isDir())

    26.     {

    27.       //递归调用拷贝

    28.       if(!qCopyDirectory(fileInfo.filePath(), toDir_.filePath(fileInfo.fileName())))

    29.         return false;

    30.     }

    31.     //拷贝子文件

    32.     else

    33.     {

    34.       if(bCoverIfFileExists && toDir_.exists(fileInfo.fileName()))

    35.       {

    36.         toDir_.remove(fileInfo.fileName());

    37.       }

    38.       if(!QFile::copy(fileInfo.filePath(), toDir_.filePath(fileInfo.fileName())))

    39.       {

    40.         return false;

    41.       }

    42.     }

    43.   }

    44.   return true;

    45. }

阅读(2231) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~