QStorageInfo表示磁盘已准备好使用,而不是

时间:2017-07-15 12:35:29

标签: macos qt

Mac OS X El Capitan 10.11.6

我有一个外置硬盘。在我的应用程序中,我监视它是否连接到PC。 我使用QStorageInfo为它提供驱动器的根路径。

在那个驱动器上,我有一个带有已知路径的文件。连接驱动器后,我需要检查文件是否存在。

问题是,一旦我连接了驱动器,QStorageInfo开始为trueisValid返回isReady,但QFile::exists会返回false虽然该文件确实存在于驱动器上。它不断返回false几秒钟。在那之后,它开始返回true

这是Qt / MAC中的错误还是我错过了什么?

Qt 5.9.1。

P.S。它在Windows 10上运行良好。

添加#1 。代码示例。

QStorageInfo s(storageRootPath);
if (s.isValid() && s.isReady())
{
     auto exists = QFile::exists(pathToFile); // getting false here for a few seconds
}

1 个答案:

答案 0 :(得分:0)

在Apple CoreFoundation API中看起来像bug