Profile picture

[Python / GUI] PySide6로 폴더 선택 기능 구현하기

JaehyoJJAng2024년 09월 12일

개요

PySide6를 활용하여 "폴더 선택" 기능을 구현하는 방법에 대해 기록해보려고 한다.


주요 클래스 및 메소드

PySide6에서 폴더 선택 기능을 구현하려면 QFileDialog 클래스를 사용한다.

특히, QFileDialog.getExistingDirectory 메소드는 폴더를 선택할 수 있는 대화상자를 제공한다.


예제 코드

아래는 PySide6를 사용하여 폴더 선택 기능을 구현한 간단한 예제이다.

from PySide6.QtWidgets import QApplication, QFileDialog, QVBoxLayout, QPushButton, QWidget, QLabel


class FolderSelector(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("폴더 선택 예제")
        self.setGeometry(100, 100, 400, 200)

        # 레이아웃 설정
        layout = QVBoxLayout()

        # 라벨 생성
        self.label = QLabel("선택한 폴더 경로가 여기에 표시됩니다.")
        layout.addWidget(self.label)

        # 버튼 생성
        self.button = QPushButton("폴더 선택")
        self.button.clicked.connect(self.select_folder)
        layout.addWidget(self.button)

        # 메인 레이아웃 설정
        self.setLayout(layout)

    def select_folder(self):
        # 폴더 선택 대화상자 열기
        folder_path = QFileDialog.getExistingDirectory(self, "폴더 선택", "")
        if folder_path:
            self.label.setText(f"선택한 폴더: {folder_path}")
        else:
            self.label.setText("폴더를 선택하지 않았습니다.")


if __name__ == "__main__":
    app = QApplication([])

    window = FolderSelector()
    window.show()

    app.exec()

Loading script...