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盘是否正确插入");
    }
}
相关推荐
送秋三十五7 分钟前
一次大文件处理性能优化实录————Java 优化过程
java·开发语言·性能优化
Sylvia-girl17 分钟前
线程池~~
java·开发语言
fie888919 分钟前
基于MATLAB的转子动力学建模与仿真实现(含碰摩、不平衡激励)
开发语言·算法·matlab
lly20240621 分钟前
C# 变量作用域
开发语言
时艰.25 分钟前
java性能调优 — 高并发缓存一致性
java·开发语言·缓存
MSTcheng.27 分钟前
【C++】C++智能指针
开发语言·c++·智能指针
无小道28 分钟前
Qt——网络编程
开发语言·qt
wazmlp00188736930 分钟前
第五次python作业
服务器·开发语言·python
云深处@31 分钟前
【C++11】部分特性
开发语言·c++
尘缘浮梦31 分钟前
websockets简单例子1
开发语言·python