Mac OS X El Capitan 10.11.6
.
我有一个外部驱动器。在我的应用程序中,我监视它是否连接到PC。 为此,我使用QStorageInfo
为其提供驱动器的根路径。
在该驱动器上,我有一个文件,其中包含它的已知路径。连接驱动器后,我需要检查文件是否存在。
问题是,一旦我连接驱动器,QStorageInfo
开始返回isValid
和isReady
的true
,但是当文件确实存在于驱动器上时,QFile::exists
返回false
。它会在几秒钟内不断返回false
。在那几秒钟之后,它开始返回true
.
是Qt/MAC中的错误还是我错过了什么?
Qt 5.9.1.
附言它在 Windows 10 上运行良好。
补充 #1。代码示例。
QStorageInfo s(storageRootPath);
if (s.isValid() && s.isReady())
{
auto exists = QFile::exists(pathToFile); // getting false here for a few seconds
}
看起来像Apple CoreFoundation API中的一个错误。