📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 120行目: | 120行目: | ||
<br> | <br> | ||
== ファイル選択ダイアログ == | == ファイル選択ダイアログ == | ||
==== FileDialogコンポーネント ==== | |||
まず、必要なモジュールをインポートして、<code>FileDialog</code>コンポーネントを使用して、ファイル選択ダイアログを作成する。<br> | |||
これは、一般的に、アプリケーションのメインウィンドウや特定のコンポーネント内で記述する。<br> | |||
<br> | |||
<code>FileDialog</code>コンポーネントのプロパティを以下に示す。<br> | |||
* <code>title</code>プロパティ | |||
*: ダイアログのタイトルを設定する。 | |||
* <code>nameFilters</code>プロパティ | |||
*: 表示するファイルタイプを制限することができる。 | |||
* <code>selectedFiles</code>プロパティ | |||
*: 選択されたファイルのパスが配列として格納される。 | |||
*: 一般的に、単一ファイル選択の場合は、<u>selectedFiles[0]</u>を使用する。 | |||
* <code>fileMode</code>プロパティ | |||
*: 単一ファイル選択または複数ファイル選択を指定できる。 | |||
<br> | |||
<code>FileDialog</code>コンポーネントのシグナルハンドラ (スロット) を以下に示す。<br> | |||
* <code>onAccepted</code>ハンドラ | |||
*: ファイルが選択された場合の処理を定義する。 | |||
* <code>onRejected</code>ハンドラ | |||
*: ダイアログがキャンセルされた場合の処理を定義する。 | |||
<br> | |||
ファイル選択ダイアログを表示する場合は、<code>open</code>メソッドを実行してダイアログを表示する。<br> | |||
<br> | |||
<syntaxhighlight lang="qml"> | |||
import QtQuick | |||
import QtQuick.Controls | |||
import QtQuick.Dialogs | |||
// ...略 | |||
FileDialog { | |||
id: fileDialog | |||
title: "ファイルを選択してください" | |||
nameFilters: ["テキストファイル (*.txt)", "すべてのファイル (*)"] | |||
// ファイルを選択した場合 | |||
onAccepted: { | |||
console.log("選択されたファイル:", fileDialog.selectedFiles) | |||
selectedFileText.text = "選択されたファイル: " + fileDialog.selectedFiles[0] | |||
} | |||
// キャンセルした場合 | |||
onRejected: { | |||
console.log("ファイル選択がキャンセルされました") | |||
} | |||
} | |||
Column { | |||
anchors.centerIn: parent | |||
spacing: 20 | |||
// ダイアログを表示するためのトリガ (例: ボタン) | |||
Button { | |||
text: "ファイルを開く" | |||
onClicked: fileDialog.open() | |||
} | |||
Text { | |||
id: selectedFileText | |||
text: "ファイルが選択されていません" | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Qt 6以降では、<code>QtQuick.Dialogs</code>モジュールを使用する。</u><br> | |||
<u>Qt 5では、<code>Qt.labs.platform</code>モジュールを使用する。</u><br> | |||
<br> | |||
<u>ファイル選択ダイアログの動作は、使用しているプラットフォーム (Windows、MacOS、Linux) により異なる場合がある。</u><br> | |||
<br> | |||
==== QWidgetのファイル選択ダイアログ ==== | ==== QWidgetのファイル選択ダイアログ ==== | ||
QMLからQWidgetのファイル選択ダイアログを使用することもできる。<br> | QMLからQWidgetのファイル選択ダイアログを使用することもできる。<br> | ||