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盘是否正确插入");
    }
}
相关推荐
yy我不解释1 分钟前
关于comfyui的mmaudio音频生成插件时时间不一致问题(四)(video upload)(解决方法)
开发语言·python·ai作画·音视频·comfyui
干啥啥不行,秃头第一名2 分钟前
C++与机器学习框架
开发语言·c++·算法
hongtianzai3 分钟前
Laravel7.x十大核心特性解析
java·c语言·开发语言·golang·php
永远睡不够的入7 分钟前
C++庖丁解牛:深入理解多态:从虚函数表到底层实现
开发语言·c++
姚青&8 分钟前
Pytest fixture 参数化(params 参数)
开发语言·python·pytest
qq_3349031510 分钟前
C++与人工智能框架
开发语言·c++·算法
2401_8914821712 分钟前
C++中的状态模式
开发语言·c++·算法
9523615 分钟前
初识多线程
java·开发语言·jvm·后端·学习·多线程
m0_7369142217 分钟前
服务器上pip install spacy卡住解决方法
开发语言·python
冰暮流星18 分钟前
javascript之回调函数
开发语言·前端·javascript