在 Ubuntu/Debian 平台上,我想通过在/dev
.
如果我在我的主文件夹中设置一个虚拟文件夹,其中包含名为 video0、video1 等的文本文件,则下面的代码可以正常工作myPath
,但是一旦我尝试直接从中列出,/dev
则根本不会列出任何文件。
QString myPath="/dev";// This works when I set it to my dummy folder /home/me/dev with dummy text files in it.
QDir dir;
dir.setPath(myPath);
QStringList filters;
filters<<"video?";
dir.setNameFilters(filters);
dir.setSorting(QDir::Name );
QFileInfoList list = dir.entryInfoList();
const int ct= list.size();
qDebug()<<"Found " <<QString::number(ct)<<" cameras";
for (int i = 0; i <ct; ++i) {
QFileInfo fileInfo = list.at(i);
qDebug()<<"Camera : "<<QString("%1 %2").arg(fileInfo.size(), 10).arg(fileInfo.fileName());
}
我可以cd /dev && ls
从命令行很好,所以我知道我的用户有权列出该目录。此外,没有错误消息或其他指示权限被拒绝的迹象。到底是怎么回事?