一、检测U盘是否存在
void Dialog::checkUSB()
{
int message = 0;
//获取U盘的文件,并且显示在ListWidget_USB
usb_path = "";
// 获取系统中所有驱动器
QFileInfoList drives = QDir::drives();
// 遍历驱动器列表
foreach (const QFileInfo &drive, drives)
{
//qDebug() << "Drive: " << drive.absoluteFilePath();
UINT driveType = GetDriveType((LPCWSTR)drive.absoluteFilePath().utf16());
if (driveType == DRIVE_REMOVABLE)
{
message = 1;
U=true;
ushowlist_bz=++ushowlist_bz;
usb_path =drive.absoluteFilePath();
qDebug() << "Found removable drive at:" << drive.absoluteFilePath();
qDebug() << "usb_path:" << usb_path;
// 创建QDir对象来访问文件夹
QStringList fileNames_USB;
QDir dir_usb(usb_path);
if (dir_usb.exists())
{
fileNames_USB = dir_usb.entryList(QDir::Dirs | QDir::NoDotAndDotDot); //去掉"."和".."
qDebug() << "ushowlist_bz:" << ushowlist_bz;
if(ushowlist_bz==1)
{
listWidget_USB->clear();
// 将文件名添加到QListWidget中
for (const QString &fileName_USB : fileNames_USB)
{
qDebug()<<"fileNames_USB :"<<fileNames_USB;
listWidget_USB->addItem(fileName_USB);
}
}
}
else
{
qWarning("Folder does not exist: %s", qUtf8Printable(drive.absoluteFilePath()));
}
}
}
if(message ==0)
{
U=false;
ushowlist_bz=0;
QString styleSheet = QString("QTextEdit { border-image: url(%1) 0 0 0 0 stretch stretch; }").arg(b);
ReminderU->setStyleSheet(styleSheet);
//QMessageBox::information(nullptr, "提示", "未找到U盘,请检查U盘是否正确插入");
}
}