
什麼是 QFileDialog ? 
QFileDialog 是 PyQt 提供的一個標準對話框,用於讓使用者透過圖形介面瀏覽電腦檔案系統並選取檔案或資料夾。它使得應用程式可以輕鬆實現打開、保存檔案等功能。
QFileDialog.getOpenFileNames() 使用方式
傳入參數解釋
parent:
設定對話框的父元件。若設定為None,表示這個對話框不依附於特定的父視窗;在 PyQt 應用中,你也可以傳入一個現有的QWidget實例來作為父元件。
若指定父元件,對話框通常會置於父元件的中央,並且當父元件關閉時對話框也會一併關閉。caption:
對話框的標題文字,讓使用者能夠清楚知道此對話框的用途。directory:
指定打開對話框時預設顯示的目錄。若設定為空字串"",表示使用系統預設目錄;你也可以傳入像是"/home/user/Documents"這樣的路徑。filter:
檔案過濾字串,用來限制使用者在對話框中能看到的檔案類型。幫助使用者更方便地找到需要的檔案類型,同時也可以防止選取到不相關的檔案。
「所有檔案(.)」會顯示所有檔案;「圖片 (*.png .jpg)」僅顯示副檔名為 .png 與 .jpg 的檔案;「文字檔 (.txt)」則僅顯示 .txt 格式的檔案,各個過濾選項之間用「;;」分隔。
返回值
files:
一個列表,包含使用者選取的所有檔案的完整路徑。例如 :['/path/to/file1.txt', '/path/to/file2.png']。selected_filter:
使用者當下選擇的檔案過濾規則,這可以讓你知道使用者當時的選擇,並根據需要做後續處理。例如 :"文字檔 (*.txt)"。
# 呼叫 QFileDialog.getOpenFileNames() 打開選檔對話框
files, selected_filter = QFileDialog.getOpenFileNames(
    <parent>,
    <caption>,
    <directory>,
    <filter>
)
範例程式碼 : 
其他 QFileDialog 以外模組的相關說明可以到 《【Python】使用 PyQt5 建構簡單視窗並顯示 “Hello World” 》一文中了解。
from PyQt5.QtWidgets import QApplication, QFileDialog
import sys
app = QApplication(sys.argv)
files, selected_filter = QFileDialog.getOpenFileNames(
    None,
    "選擇檔案",
    "",
    "所有檔案(*.*);;圖片(*.png *.jpg);;文字檔(*.txt)"
)
print("選取的檔案:", files)
print("使用者當時的選擇:", selected_filter)


