List 无法使用Qt5中的QDir在Ubuntu/Debian中列出设备文件

List 无法使用Qt5中的QDir在Ubuntu/Debian中列出设备文件,list,permissions,directory,qt5,qdir,List,Permissions,Directory,Qt5,Qdir,在Ubuntu/Debian平台上,我想在我的Qt5应用程序中列出所有可能使用QDir的视频源,方法是在/dev下列出它们的设备文件 如果我将myPath设置为我的主文件夹中的一个虚拟文件夹,其中包含名为video0、video1等的文本文件,则下面的代码可以正常工作。但是,一旦我尝试直接从/dev中列出,它根本不会列出任何文件 QString myPath="/dev";// This works when I set it to my dummy folder /home/me/de

在Ubuntu/Debian平台上,我想在我的Qt5应用程序中列出所有可能使用QDir的视频源,方法是在
/dev
下列出它们的设备文件

如果我将
myPath
设置为我的主文件夹中的一个虚拟文件夹,其中包含名为video0、video1等的文本文件,则下面的代码可以正常工作。但是,一旦我尝试直接从
/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());

    }
QString myPath=“/dev”//当我将它设置为虚拟文件夹/home/me/dev,其中包含虚拟文本文件时,这种方法就可以工作了。
QDir-dir;
目录设置路径(myPath);
QStringList滤波器;
过滤器我在发布我的问题后几秒钟内就找到了答案,现在我觉得有点愚蠢,因为我没有猜到答案,所以这里是答案

//Search for all files including system files (system means device files on linux)
dir.setFilter( QDir::AllEntries | QDir::System);
从文件:

QDir::System 0x200列出系统文件(在Unix、FIFO、套接字和 包括设备文件;在Windows上包括.lnk文件)