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盘是否正确插入");
    }
}
相关推荐
roman_日积跬步-终至千里5 分钟前
【Java并发】多线程/并发问题集
java·开发语言
调皮连续波(rsp_tiaopige)8 分钟前
毫米波雷达 : OpenRadar(Matlab版本)正式发布
开发语言·matlab
冷雨夜中漫步19 分钟前
python反转列表reverse()和[::-1]哪个效率更高
开发语言·python
rainbow688922 分钟前
Python面向对象编程与异常处理实战
开发语言·python
你撅嘴真丑43 分钟前
第八章 - 贪心法
开发语言·c++·算法
梵刹古音1 小时前
【C语言】 浮点型(实型)变量
c语言·开发语言·嵌入式
历程里程碑1 小时前
Linux 17 程序地址空间
linux·运维·服务器·开发语言·数据结构·笔记·排序算法
u0109272711 小时前
模板元编程调试方法
开发语言·c++·算法
??(lxy)1 小时前
java高性能无锁队列——MpscLinkedQueue
java·开发语言
2401_838472511 小时前
C++图形编程(OpenGL)
开发语言·c++·算法