USB导出功能(QT)
一、检测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盘是否正确插入");}
}