1. 程式人生 > >Qt中的預設資料夾路徑獲取方法

Qt中的預設資料夾路徑獲取方法

原文地址:http://m.blog.csdn.net/blog/jiezhj_tjsd/37560363
標頭檔案:
1、#include <QDesktopServices>

2、#include <QApplication>

 

使用1:

    QTextCodec *codec = QTextCodec::codecForLocale();
    QTextCodec::setCodecForCStrings(codec);

    //獲取開始選單-》程式的路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::ApplicationsLocation);
    //獲取cache路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
    //獲取local路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::DataLocation);
    //獲取桌面路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
    //獲取我的文件路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation);
    //獲取字型路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::FontsLocation);
    //獲取使用者目錄路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
    //獲取模式視訊儲存路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::MoviesLocation);
    //獲取預設音樂儲存路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::MusicLocation);
    //獲取預設圖片儲存路徑
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::PicturesLocation);
    //獲取臨時檔案路徑(在windows下路徑被替代)
    qDebug()<<QDesktopServices::storageLocation(QDesktopServices::TempLocation);
    qDebug()<<"----------------------------------------";
    //使用openUrl可以開啟資料夾或者、可執行程式,與QProcess類似,但是沒有QProcess功能強
    QString str = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);

    //開啟帶有空格、漢字的路徑的程式
    QUrl url;
    //使用函式fromLoaclFile()格式化路徑,否則打不開檔案,或資料夾。
    //openUrl可以呼叫預設檔案開啟方式開啟檔案
    url =  QUrl::fromLocalFile(QString(str+"/")+QString("新建文   件夾 (3)/Setup_zesafe-2.0.exe"));
    qDebug() << url;
    //如果開啟成功,關閉當前程式
    if(QDesktopServices::openUrl(url))
    {
        qApp->quit(); //qApp是個單例項
    }


使用2:

    QApplication::setApplicationName("jie");
    //獲取應用程式所在資料夾路徑
    qDebug()<<QApplication::applicationDirPath();
    //獲取應用程式路徑
    qDebug()<<QApplication::applicationFilePath();
    qDebug()<<QApplication::applicationName();