QHotkey
QlistWidget QTableWidget 窗口置顶 QCefView EXCEL Jieba分词 剪切板 Mysql QTableView QRegularExpression正则 JQHttpServer POST 匹配TDK unicode转中文 eventFilter dr_url与dr_member_url 缓存 URI地址 数据库操作 系统目录常量 模板标签 QSpinBox Quick QCompress压缩 QLibrary QMap QVariant QNetworkAccessManager Qchart QFile Qjson QJSEngine QFileDialog对话框 QSet QTimer时钟

选择文件夹:

    QFileDialog *fileDialog = new QFileDialog(this);
    fileDialog->setFileMode(QFileDialog::Directory);
    fileDialog->exec();
    auto selectDir = fileDialog->selectedFiles();
    if (selectDir.size()>0)
    {
        qDebug() << "文件夹名称:" << selectDir.at(0);
    }



选择文件-打开:

 // 快速选择一个文件
    //QString sFileName = QFileDialog::getOpenFileName(this,"选择文件","/","C++ files(*.cpp);;C files(*.c);;Head files(*.h)");
    //qDebug() << "文件名称:" << sFileName;

    QFileDialog *fileDialog = new QFileDialog(this);
    fileDialog->setFileMode(QFileDialog::Directory);

    //设置窗口的标题
    fileDialog->setWindowTitle("请选择文件");

    //也可以使用下面代码设置多个过滤器
    QStringList filters;
    filters << "Image files (*.png *.xpm *.jpg)"
            << "Text files (*.txt)"
            << "Any files (*)";
    fileDialog->setNameFilters(filters); //这个函数名称后面多了一个s,表示设置多个过滤器。要看清楚。

    //QFileDialog::ExistingFiles 多个文件,还可以用来选择文件夹QFileDialog::Directory。
    fileDialog->setFileMode(QFileDialog::ExistingFiles);

    //如果是要保存文件,那就需要再设置一下
    //fileDialog.setAcceptMode(QFileDialog::AcceptSave);

    //弹出对话框
    if (fileDialog->exec() == QDialog::Accepted)
    {
        QStringList listFiles = fileDialog->selectedFiles();
        for (auto fileName : listFiles)
        {
            qDebug() << "文件名称:" << fileName;
        }
    }


选择文件-保存:

fileName = QFileDialog::getOpenFileName(this, tr("选择一张图片"), "C:/Users/jiage/Desktop", tr("Image Files (*.png *.jpg *.bmp)"));