我正在开发一个需要打开 USB 串行端口的 Linux 桌面应用程序,通常是 /dev/ttyUSB0 或 /dev/ttyUSB1。我正在使用 QFileDialog 让用户选择文件:
QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
dialog.setFilter(QDir::System | QDir::AllEntries | QDir::Hidden);
dialog.setViewMode(QFileDialog::Detail);
QStringList fileNames;
if (dialog.exec())
fileNames = dialog.selectedFiles();
当我将 FileDialog 指向 /dev 时,我可以通过键入“ls /dev -al”看到的所有文件都不存在。目录显示出来,但例如,这个文件没有:
$ ls -al /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 2011-10-09 10:47 /dev/ttyS0
我的用户是拨出组的成员:
$ groups
luke adm dialout cdrom audio video plugdev users fuse netdev bluetooth lpadmin admin sambashare
我已经尝试添加 QDir::Readable 和 QDir::Writable 并且上面的文件仍然没有出现。我究竟做错了什么?