カンテラの光の下で

dNaga392's memorandom

【Qt】AppDataのLocalに作業ディレクトリを作る

ガイドラインによると作業用の一時フォルダはAppDataのLocalに置くのがよいとのこと。
以下は、ベンダー名(Vendor)、アプリケーション名(AppName)の階層で作業ディレクトリを作成しています。

// AppData\Local\Vendor\AppName を作業ディレクトリとする

// Localのディレクトリパス取得
QString local = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
// ベンダーディレクトリの作成
QString vendordir = local + "\\"+"Vendor";
// 存在してなければ作成
if(QDir().exists(vendordir)==false)
{
    if(QDir().mkdir(vendordir)==false)
    {
        qDebug("%s %d: Error: QDir().mkdir(vendordir)",__FILE__,__LINE__);
    }
}
// アプリケーションディレクトリの作成
QString appdir = vendordir + "\\"+"AppName";
// 存在してなければ作成
if(QDir().exists(appdir)==false)
{
    if(QDir().mkdir(appdir)==false)
    {
        qDebug("%s %d: Error: QDir().mkdir(appdir)",__FILE__,__LINE__);
    }
}

Windowsのディレクトリ構成ガイドライン - torutkの日記

c++ - QFileDialog to default to AppData? - Stack Overflow

Checking if a folder exists (and creating folders) in Qt, C++ - Stack Overflow