QFileDialog 自定义文件对话框

    QFileDialog dialog(this);
    dialog.setFileMode(QFileDialog::ExistingFiles);
    dialog.setNameFilter(tr("All Files (*);;Text Files (*.txt)"));
    dialog.setViewMode(QFileDialog::List);
//     dialog.setOption(QFileDialog::DontUseNativeDialog,true);
     dialog.setLabelText(QFileDialog::Accept, "确定ok");
    dialog.setLabelText(QFileDialog::Reject, "取消cancel");

    dialog.setLabelText(QFileDialog::FileName, "FileName dd");
   dialog.setLabelText(QFileDialog::FileType, "FileType dd");
   dialog.setLabelText(QFileDialog::LookIn, "LookIn dd");

   dialog.selectFile("D:/Hui_Program/UpperComputerDetectionPlatform/debug/UpperComputerDetectionPlatform.exe");
   dialog.setDirectory("D:/Hui_Program/UpperComputerDetectionPlatform/debug/Config");

   connect(&dialog, &QFileDialog::fileSelected,this, [=](const QString &file) {
        OutputDebug << "fileSelected " << file;
   });
   connect(&dialog, &QFileDialog::filesSelected,this, [=](const QStringList &files) {
        OutputDebug << "filesSelected " << files;
   });
   connect(&dialog, &QFileDialog::currentChanged,this, [=](const QString &path) {
        OutputDebug << "currentChanged  path " << path;
   });
   connect(&dialog, &QFileDialog::directoryEntered,this, [=](const QString &directory) {
        OutputDebug << "directoryEntered directory" << directory;
   });
   connect(&dialog, &QFileDialog::filterSelected,this, [=](const QString &filter) {
        OutputDebug << "filterSelected filter" << filter;
   });
   connect(&dialog, &QFileDialog::currentUrlChanged,this, [=](const QUrl &url) {
        OutputDebug << "currentUrlChanged url" << url;
   });

    QStringList fileNames;
    QString strCurSelectDir = "";
    int iRtn = dialog.exec();
    if (iRtn)
        strCurSelectDir = dialog.directory().absolutePath();

    QDir dir(strCurSelectDir);
    QFileInfoList listFileInfo = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files);

    QFileInfo fileInfo;
    for (int iIndex = 0; iIndex < listFileInfo.size(); ++iIndex) {
        fileInfo = listFileInfo.at(iIndex);
        OutputDebug << "fileInfo.absoluteFilePath()" << fileInfo.absoluteFilePath();
        OutputDebug << "fileInfo.absolutePath()" << fileInfo.absolutePath();
        OutputDebug << "fileInfo.baseName()" << fileInfo.baseName();
        OutputDebug << "fileInfo.fileName()" << fileInfo.fileName();
        OutputDebug << "fileInfo.filePath()" << fileInfo.filePath();
        OutputDebug << "fileInfo.bundleName()" << fileInfo.bundleName();
        OutputDebug << "fileInfo.completeSuffix()" << fileInfo.completeSuffix();
        OutputDebug << "fileInfo.completeBaseName()" << fileInfo.completeBaseName();
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值