1. 程式人生 > 其它 >python pyqt5 開啟資料夾 讀取檔案列表

python pyqt5 開啟資料夾 讀取檔案列表

技術標籤:pythonGUI

在這裡插入圖片描述

成員變數初始化

    def __init__(self, parent=None):
        super().__init__(parent)

        self.file_paths = []  # 檔案列表
        self.file_index = 0	  # 檔案索引

匯入資料夾

    # 匯入資料夾
    @pyqtSlot()
    def on_btnImportFolder_clicked(self):

        cur_dir = QDir.currentPath()  # 獲取當前資料夾路徑
        # 選擇資料夾
dir_path = QFileDialog.getExistingDirectory(self, '開啟資料夾', cur_dir) # 讀取資料夾檔案 self.file_paths.clear() for root, dirs, files in os.walk(dir_path, topdown=False): for file in files: self.file_paths.append(os.path.join(root, file)) print
(self.file_paths) if len(self.file_paths) <= 0: return # 獲取第一個檔案 self.file_index = 0 cur_path = self.file_paths[self.file_index] # 處理檔案 self.process_image(cur_path)

下一個檔案

    # 下一個檔案
    @pyqtSlot()
    def on_btnFolderNext_clicked(self):
        # 檔案索引累加 1
self.file_index += 1 if self.file_index >= len(self.file_paths): self.file_index = len(self.file_paths) - 1 if len(self.file_paths) <= 0 or self.file_index >= len(self.file_paths): return cur_path = self.file_paths[self.file_index] self.process_image(cur_path)

上一個檔案

    # 上一個檔案
    @pyqtSlot()
    def on_btnFolderPrevious_clicked(self):
        # 檔案索引減 1
        self.file_index -= 1
        if self.file_index < 0:
            self.file_index = 0

        if len(self.file_paths) <= 0 or self.file_index >= len(self.file_paths):
            return

        # 當前路徑
        cur_path = self.file_paths[self.file_index]
        self.process_image(cur_path)

其它對話方塊操作

QFileDialog.getExistingDirectory()   # 返回選中的資料夾路徑
QFileDialog.getOpenFileName()   # 返回選中的檔案路徑
QFileDialog.getOpenFileNames()   # 返回選中的多個檔案路徑
QFileDialog.getSaveFileName()   # 儲存檔案

大神的路徑
對話方塊操作