2
QFile
具有靜態函數爲什麼QDir :: rmdir不是靜態的?
bool QFile::remove (const QString & fileName) [static]
這將刪除指定的文件。這很方便:我們有一個文件路徑,我們使用一個命令來刪除它。然而,QDir
不具有這樣的命令,僅這一項:
bool QDir::rmdir (const QString & dirName) const
其是非靜態的且因此要求的對象。所以我被迫做了醜陋的東西像
QDir().rmdir(path)
這是令人厭惡的。我錯過了什麼嗎?
需要注意的是對一個QFile類似操作(複製,重命名,刪除),創建一個對象的情況下,得到錯誤的詳細信息(Errorstring,則())的唯一途徑函數返回false,從而創建一個對象,我認爲那裏的最佳實踐。 QDir遺失了errorString(),遺憾的是。理想情況下,它會被添加。 –
這個靜態QFile :: remove()函數做了什麼,它創建了一個'QFile'對象,就像你使用'QDir'一樣:['QFile(fileName).remove();'](https:// qt.gitorious.org/qt/qt/source/57756e72adf2081137b97f0e689dd16c770d10b1:src/corelib/io/qfile.cpp#L674)。 – thuga