要在Linux中使用Qt获取USB设备信息,可以使用QStorageInfo类。以下是一个示例代码,可以列出系统中所有USB设备的信息:
#include <QCoreApplication>
#include <QStorageInfo>
#include <QDebug>
int main(int argc, char *argv[]){
Q_UNUSED(argc);
Q_UNUSED(argv);
QList<QStorageInfo> storageList = QStorageInfo::mountedVolumes();
foreach (const QStorageInfo &storage, storageList) {
if (storage.isValid() && storage.isReady() && storage.isRoot()) {
if (storage.device().startsWith("/dev/sd")) {
qDebug() << "Device: " << storage.device();
qDebug() << "Description: " << storage.description();
qDebug() << "File System Type: " << storage.fileSystemType();
qDebug() << "Size: " << storage.bytesTotal() / (1024 * 1024) << "MB";
qDebug() << "Free Space: " << storage.bytesFree() / (1024 * 1024) << "MB";
qDebug() << "-----------------------------------------------";
}
}
}
return 0;
}
这个示例使用QStorageInfo::mountedVolumes()函数获取系统中已挂载的存储设备列表,然后遍历每个存储设备,并输出其属性。在示例中,我们使用了startsWith()函数来判断设备是否为USB设备,如果设备名以/dev/sd开头,则认为它是USB设备。可以根据需要来输出或处理其他设备属性,具体可以参考QStorageInfo类的文档。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!