为什么QDir :: rmdir不是静态的?

时间:2013-12-13 08:05:19

标签: c++ qt static-methods qfile qdir

QFile有一个静态函数

bool QFile::remove ( const QString & fileName ) [static]

删除指定的文件。这很方便:我们有一个文件路径,我们使用命令将其删除。但是,QDir没有这样的命令,只有这一个:

bool QDir::rmdir ( const QString & dirName ) const

是非静态的,因此需要一个对象。所以我不得不做像

这样丑陋的事情

QDir().rmdir(path)

这很恶心。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您可以派生类QDir并添加静态方法。

 class MyQDir : public QDir {
      // Define constructors/destructor

      static bool remove ( const QString & dirName ) {
            return QDir().rmdir(dirName);
      }
 };