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盘是否正确插入");
    }
}
相关推荐
登登登__8 分钟前
春秋招笔试题总结
java·开发语言
我的xiaodoujiao32 分钟前
快速学习Python基础知识详细图文教程18--多线程
开发语言·python·学习·测试工具
秋田君44 分钟前
QT_绘图原理双缓冲机制
服务器·数据库·qt
想要入门的程序猿1 小时前
Qt插件QPluginLoader
开发语言·qt
Rabitebla1 小时前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list
洋不写bug1 小时前
JavaComparable、Comparator、Cloneable接口解析,深拷贝浅拷贝详细解析
android·java·开发语言
吴声子夜歌1 小时前
正则指引——Golang
开发语言·golang·正则表达式
坐吃山猪1 小时前
WebFlux_学习Subscriber总结
java·开发语言·学习·webflux
白露与泡影1 小时前
Java面试题及答案整理(2026年金九银十最新版,持续更新)
java·开发语言
少控科技2 小时前
农场设备管理代码(1)
开发语言·c#