Qt小程序(七)——获取文件夹和文件路径

目录

  • 目录
  • 前言
  • QWidgetQDialogQMainWindow
    • Qt添加ui文件
    • Qt如何重命名工程
    • Qt获取文件夹和文件路径
      • Qt获取文件夹路径
      • Qt获取文件路径
  • 总结
  • 链接地址

前言

这篇博文躺在草稿箱里很久了,一直没有完成!主要时间一过,就忘记了原来要写什么 内容了!记得在哪里看过这句话:今天的事如果不完成,或许你永远都不会完成了!这里把这篇博文就记录Qt中读取文件夹和文件路径

QWidget/QDialog/QMainWindow

Qt小程序(七)——获取文件夹和文件路径_第1张图片

Qt添加ui文件

右键项目,添加新文件,选择Qt设计师界面类,然后选择界面模板,比如Dialog without Buttons。然后设置类名,最后成功。
Qt小程序(七)——获取文件夹和文件路径_第2张图片

Qt如何重命名工程

在Qt中没有选项可以直接重命名工程,所以就只能手动修改。比如:原工程名为
8_test,直接修改工程文件夹名为openCam。同时,修改8_test.proopenCam.pro。最后,在openCam.pro中修改如下语句:

TARGET = 8_test ----------> TARGET = openCam

注意:修改之前要清理项目,然后重新构建即可

Qt获取文件夹和文件路径

Qt获取文件夹路径

  • getExistingDirectory
static QString getExistingDirectory(QWidget *parent = Q_NULLPTR,
                                    const QString &caption = QString(),
                                    const QString &dir = QString(),
                                    Options options = ShowDirsOnly);
参数1:父窗口
参数2:弹出界面的菜单栏文字 
参数3:打开的初始目录 比如“/”表示根目录

Qt中获取文件夹路径的方法-QFileDialog::getExistingDirectory的使用这篇博文介绍了获取文件夹路径的方法。一般我是在ui界面放置一个按钮,然后按按钮打开特定的目录。代码如下:

void Widget::on_openSrcDirPushButton_clicked()
{
    srcDirPath = QFileDialog::getExistingDirectory(
               this, "choose src Directory",
                "/");

    if (srcDirPath.isEmpty())
    {
        return;
    }
    else
    {
        qDebug() << "srcDirPath=" << srcDirPath;
        srcDirPath += "/";
    }
}

注意qDebug() << "srcDirPath=" << srcDirPath;输入我们打开目录的路径,比如:/mnt/hgfs,这时候如果我们要读取这个目录下的文件,此时路径应为这里写代码片/mnt/hgfs/然后加上文件名才是文件的全路径。不过或许大家用不到srcDirPath += “/”;`这一句。

Qt获取文件路径

  • getOpenFileName
    获取文件路径使用getOpenFileName即可。使用方法和getExistingDirectory类似
static QString getOpenFileName(QWidget *parent = Q_NULLPTR,
                               const QString &caption = QString(),
                               const QString &dir = QString(),
                               const QString &filter = QString(),
                               QString *selectedFilter = Q_NULLPTR,
                               Options options = Options());
参数1:父窗口
参数2:弹出界面的菜单栏文字 
参数3:打开的初始目录 比如“/”表示根目录  
参数4:设置打开的文件类型   
参数5:看代码。。。                     

void Widget::slotBtnClick()
{
    QString s = QFileDialog::getOpenFileName(
                this, "选择要播放的文件",
                "/",
                "视频文件 (*.flv *.rmvb *.avi *.mp4);; 所有文件 (*.*);; ");
    qDebug() << "path=" << s;
    if (!s.isEmpty())
    {

    }
}

附QString转string的方法:

QString q_str("abc");
string = q_str.toStdString();

其他参考QString、string和C字符串相互转换

总结

获取Qt的文件夹和文件路径还是很简单的,应用层有API可以调用真的非常非常方便!

链接地址

Qt中获取文件夹路径的方法-QFileDialog::getExistingDirectory的使用
QString、string和C字符串相互转换

你可能感兴趣的:(qt,qt)