Qtの基礎 - ディレクトリ
ナビゲーションに移動
検索に移動
概要
ユーザディレクトリの取得
WindowsのマイドキュメントやLinuxのユーザディレクトリは、環境やバージョンによって変化する。
そのため、ユーザディレクトリを取得するには、QtのクラスであるQStandardPaths
クラスを使用する。
取得できる情報は、列挙型QStandardPaths::StandardLocation
で定義されている。
- QStandardPaths::DesktopLocation
- 0
- QStandardPaths::DocumentsLocation
- 1
- QStandardPaths::FontsLocation
- 2
以下に、ユーザディレクトリを取得する時に使用される頻度の高いメソッドを記載する。
- QStandardPaths::displayName
- 各プラットフォームごとのディレクトリの名称を取得する。
- QStandardPaths::standardLocations
- ユーザディレクトリをQStringListクラスを使用して取得する。
- リストの先頭から優先度の高いものが入る。
- リストが空の場合、そのシステムには存在しない種類のディレクトリである。
- QStandardPaths::writableLocation
- 書き込み可能なユーザディレクトリを1つ取得する。
- 書き込む必要がある場合は、このメソッドを使用する。
※注意
各ユーザディレクトリが存在しているとは限らないため、取得する前にディレクトリの存在を確認して、存在していなければ作成すること。
以下に、Linuxのユーザディレクトリの取得例を示す。
- QStandardPaths::DesktopLocation
- ディレクトリの名称 : Desktop
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/デスクトップ
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/デスクトップ
- QStandardPaths::DocumentsLocation
- ディレクトリの名称 : Documents
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/ドキュメント
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/ドキュメント
- QStandardPaths::FontsLocation
- ディレクトリの名称 : Fonts
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.fonts
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.fonts
- QStandardPaths::ApplicationsLocation
- ディレクトリの名称 : Applications
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.local/share/applications
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.local/share/applications, /usr/share/gnome/applications,
- /usr/local/share/applications, /usr/share/applications
- QStandardPaths::MusicLocation
- ディレクトリの名称 : Music
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/ミュージック
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/ミュージック
- QStandardPaths::MoviesLocation
- ディレクトリの名称 : Movies
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/ビデオ
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/ビデオ
- QStandardPaths::PicturesLocation
- ディレクトリの名称 : Pictures
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/ピクチャ
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/ピクチャ
- QStandardPaths::TempLocation
- ディレクトリの名称 : Temporary Directory
- 書き込み可能なディレクトリのパス : /tmp
- QStandardPaths::standardLocationsメソッドの実行結果 : /tmp
- QStandardPaths::HomeLocation
- ディレクトリの名称 : Home
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>
- QStandardPaths::DataLocation
- ディレクトリの名称 : Application Data
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.local/share/<ソフトウェア名>
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.local/share/<ソフトウェア名>, /usr/share/gnome/<ソフトウェア名>,
- /usr/local/share/<ソフトウェア名>, /usr/share/<ソフトウェア名>
- QStandardPaths::CacheLocation
- ディレクトリの名称 : Cache
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.cache/<ソフトウェア名>
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.cache/<ソフトウェア名>
- QStandardPaths::GenericDataLocation
- ディレクトリの名称 : Shared Data
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.local/share
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.local/share, /usr/share/gnome,
- /usr/local/share/, /usr/share/
- QStandardPaths::RuntimeLocation
- ディレクトリの名称 : Runtime
- 書き込み可能なディレクトリのパス : /run/user/<ユーザID>
- QStandardPaths::standardLocationsメソッドの実行結果 : /run/user/<ユーザID>
- QStandardPaths::ConfigLocation
- ディレクトリの名称 : Configuration
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.config
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.config, /etc/xdg
- QStandardPaths::DownloadLocation
- ディレクトリの名称 : Download
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/ダウンロード
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/ダウンロード
- QStandardPaths::GenericCacheLocation
- ディレクトリの名称 : Shared Cache
- 書き込み可能なディレクトリのパス : /home/<ユーザ名>/.cache
- QStandardPaths::standardLocationsメソッドの実行結果 : /home/<ユーザ名>/.cache
以下に、Windowsのユーザディレクトリの取得例を示す。
- QStandardPaths::DesktopLocation
- ディレクトリの名称 : Desktop
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/Desktop
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/Desktop
- QStandardPaths::DocumentsLocation
- ディレクトリの名称 : Documents
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/Documents
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/Documents
- QStandardPaths::FontsLocation
- ディレクトリの名称 : Fonts
- 書き込み可能なディレクトリのパス : C:/WINDOWS/Fonts
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/WINDOWS/Fonts
- QStandardPaths::ApplicationsLocation
- ディレクトリの名称 : Applications
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs
- QStandardPaths::MusicLocation
- ディレクトリの名称 : Music
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/Music
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/Music
- QStandardPaths::MoviesLocation
- ディレクトリの名称 : Movies
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/Videos
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/Videos
- QStandardPaths::PicturesLocation
- ディレクトリの名称 : Pictures
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/Pictures
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/Pictures
- QStandardPaths::TempLocation
- ディレクトリの名称 : Temporary Directory
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Local/Temp
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Local/Temp
- QStandardPaths::HomeLocation
- ディレクトリの名称 : Home
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>
- QStandardPaths::DataLocation
- ディレクトリの名称 : Application Data
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Local/<ソフトウェア名>
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Local/<ソフトウェア名>, C:/ProgramData/<ソフトウェア名>
- QStandardPaths::CacheLocation
- ディレクトリの名称 : Cache
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Local/<ソフトウェア名>/cache
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Local/<ソフトウェア名>/cache
- QStandardPaths::GenericDataLocation
- ディレクトリの名称 : Shared Data
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Local
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Local, C:/ProgramData
- QStandardPaths::RuntimeLocation
- ディレクトリの名称 : Runtime
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>
- QStandardPaths::ConfigLocation
- ディレクトリの名称 : Configuration
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Local/<ソフトウェア名>
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Local/<ソフトウェア名>, C:/ProgramData/<ソフトウェア名>
- QStandardPaths::DownloadLocation
- ディレクトリの名称 : Download
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/Documents
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/Documents
- QStandardPaths::GenericCacheLocation
- ディレクトリの名称 : Shared Cache
- 書き込み可能なディレクトリのパス : C:/Users/<ユーザ名>/AppData/Local/cache
- QStandardPaths::standardLocationsメソッドの実行結果 : C:/Users/<ユーザ名>/AppData/Local/cache