QTemporaryDir Class
QTemporaryDir クラスは、一時的に使用する一意のディレクトリを作成します。詳細...
| ヘッダー: | #include <QTemporaryDir> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QTemporaryDir は、入出力およびネットワーク機能の一部です。
注:このクラスのすべての関数は再入可能です。
パブリック関数
| QTemporaryDir() | |
| QTemporaryDir(const QString &templatePath) | |
(since 6.4) | QTemporaryDir(QTemporaryDir &&other) |
| ~QTemporaryDir() | |
| bool | autoRemove() const |
| QString | errorString() const |
| QString | filePath(const QString &fileName) const |
| bool | isValid() const |
| QString | path() const |
| bool | remove() |
| void | setAutoRemove(bool b) |
(since 6.4) void | swap(QTemporaryDir &other) |
(since 6.4) QTemporaryDir & | operator=(QTemporaryDir &&other) |
詳細な説明
QTemporaryDir は、一意の一時ディレクトリを安全に作成するために使用されます。ディレクトリ自体はコンストラクタによって作成されます。 一時ディレクトリの名前は一意であることが保証されており(つまり、既存のディレクトリを上書きすることはありません)、QTemporaryDir オブジェクトの破棄時にそのディレクトリは削除されます。ディレクトリ名は、自動生成されるか、QTemporaryDir のコンストラクタに渡されたテンプレートに基づいて作成されます。
例:
// Within a function/method...
QTemporaryDir dir;
if (dir.isValid()) {
// dir.path() returns the unique directory path
}
// The QTemporaryDir destructor removes the temporary directory
// as it goes out of scope.isValid() を使用して、一時ディレクトリが作成可能かどうかをテストすることは非常に重要です。exists() は使用しないでください。デフォルトコンストラクタで生成されたQDir は、既に存在する現在のディレクトリを表すためです。
一時ディレクトリへのパスは、path() を呼び出すことで取得できます。
一時ディレクトリの名前には、固定部分と一意になるよう計算された部分が含まれます。デフォルトのパスはQCoreApplication::applicationName()(それ以外の場合はqt_temp )から決定され、QDir::tempPath() によって返される一時パスに格納されます。 独自のパスを指定した場合、デフォルトでは相対パスが一時ディレクトリ内に配置されることはなく、現在の作業ディレクトリを基準とした相対パスとなります。いずれの場合も、パスを一意にするために、ランダムな文字列がパスに追加されます。
QDir::tempPath()、QDir 、およびQTemporaryFileも参照してください 。
メンバ関数のドキュメント
QTemporaryDir::QTemporaryDir()
QCoreApplication::applicationName() が返すアプリケーション名をテンプレートとして、QTemporaryDir を生成します(そうでない場合は、qt_temp )。このディレクトリは、システムの臨時ディレクトリ(QDir::tempPath())に保存されます。
QDir::tempPath()も参照してください 。
[explicit] QTemporaryDir::QTemporaryDir(const QString &templatePath)
templatePath をテンプレートとしてQTemporaryDirを構築します。
templatePath が相対パスである場合、そのパスは現在の作業ディレクトリを基準とした相対パスとなります。システムの一時ディレクトリを使用したい場合は、QDir::tempPath() を使用してtemplatePath を生成することができます。
templatePath が XXXXXX で終わる場合、それはディレクトリ名の動的部分として扱われます。そうでない場合は、末尾に追加されます。QTemporaryFile とは異なり、テンプレート文字列の中間に XXXXXX を配置することはサポートされていません。
QDir::tempPath()も参照してください 。
[noexcept, since 6.4] QTemporaryDir::QTemporaryDir(QTemporaryDir &&other)
other から新しい QTemporaryDir を移動生成します。
注: 移動元のオブジェクト `other `は 、部分的に形成された状態になります。この状態では、破棄と新しい値への代入のみが有効な操作となります。
この関数は Qt 6.4 で導入されました。
[noexcept] QTemporaryDir::~QTemporaryDir()
一時ディレクトリオブジェクトを破棄します。自動削除モードが設定されている場合、そのディレクトリとその中身のすべてが自動的に削除されます。
autoRemove()も参照してください 。
bool QTemporaryDir::autoRemove() const
QTemporaryDir が自動削除モードになっている場合、true を返します。自動削除モードでは、オブジェクトが破棄された際にディレクトリがディスクから自動的に削除されます。これにより、QTemporaryDir オブジェクトをスタック上に作成し、ファイルを格納して処理を行い、関数の戻り時に自動的にクリーンアップを行うことが非常に簡単になります。
自動削除はデフォルトで有効になっています。
setAutoRemove() およびremove()も参照してください 。
QString QTemporaryDir::errorString() const
isValid() がfalse を返した場合、この関数は一時ディレクトリの作成に失敗した理由を説明するエラー文字列を返します。それ以外の場合は、この関数は空の文字列を返します。
QString QTemporaryDir::filePath(const QString &fileName) const
一時ディレクトリ内のファイルのパス名を返します。ファイルが実際にそのディレクトリに存在するかどうかは確認しません。fileName に含まれる余分な区切り文字や「.」、「..」といったディレクトリは削除されません(QDir::cleanPath() を参照)。絶対パスは使用できません。
返されるパスは、QTemporaryDir が相対パスで構築されたか絶対パスで構築されたかによって、それぞれ相対パスまたは絶対パスとなります。
bool QTemporaryDir::isValid() const
QTemporaryDir の作成に成功した場合、true を返します。
QString QTemporaryDir::path() const
一時ディレクトリへのパスを返します。QTemporaryDir を作成できなかった場合は空になります。
返されるパスは、QTemporaryDir が相対パスで作成されたか絶対パスで作成されたかによって、それぞれ相対パスまたは絶対パスとなります。
bool QTemporaryDir::remove()
一時ディレクトリとその中身をすべて削除します。
削除に成功した場合は、true を返します。
void QTemporaryDir::setAutoRemove(bool b)
b がtrueの場合、QTemporaryDir を自動削除モードに設定します。
自動削除はデフォルトで有効になっています。
autoRemove() およびremove()も参照してください 。
[noexcept, since 6.4] void QTemporaryDir::swap(QTemporaryDir &other)
この一時ディレクトリをother と入れ替えます。この操作は非常に高速で、失敗することはありません。
この関数は Qt 6.4 で導入されました。
[noexcept, since 6.4] QTemporaryDir &QTemporaryDir::operator=(QTemporaryDir &&other)
other をこのQTemporaryDir インスタンスに割り当てます。
注: 移動元のオブジェクト other は 、部分的に形成された状態になります。この状態では、有効な操作は破棄と新しい値への代入のみです。
この関数は Qt 6.4 で導入されました。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.