1. 程式人生 > >Qt小程式(七)——獲取資料夾和檔案路徑

Qt小程式(七)——獲取資料夾和檔案路徑

目錄

前言

這篇博文躺在草稿箱裡很久了,一直沒有完成!主要時間一過,就忘記了原來要寫什麼 內容了!記得在哪裡看過這句話:今天的事如果不完成,或許你永遠都不會完成了!這裡把這篇博文就記錄Qt中讀取資料夾和檔案路徑

QWidget/QDialog/QMainWindow

1

Qt新增ui檔案

右鍵專案,新增新檔案,選擇Qt設計師介面類,然後選擇介面模板,比如Dialog without Buttons。然後設定類名,最後成功。
1

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:開啟的初始目錄 比如“/”表示根目錄
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();

總結

獲取Qt的資料夾和檔案路徑還是很簡單的,應用層有API可以呼叫真的非常非常方便!

連結地址