반응형
PySide6에서 QFileDialog.getExistingDirectory를 사용한 다운로드 기본 경로 설정
📖 소개
PySide6에서 QFileDialog.getExistingDirectory를 사용할 때, 특정 폴더(예: 다운로드 폴더)를 기본 경로로 설정하는 방법을 알아보겠습니다. 기본적으로 폴더 선택 대화상자는 시스템에서 마지막으로 사용한 폴더를 열지만, 특정 경로(예: 다운로드 폴더)를 기본으로 열도록 설정할 수 있습니다.
이번 글에서는 운영체제에 관계없이 다운로드 폴더를 기본 경로로 지정하는 방법을 설명하고, 실제 코드 예제를 제공하겠습니다.
📌 QFileDialog.getExistingDirectory란?
QFileDialog.getExistingDirectory는 사용자가 폴더를 선택할 수 있도록 하는 대화상자를 제공합니다.
파일 선택 다이얼로그와 다르게, 파일이 아니라 폴더를 선택하는 기능을 가지고 있습니다.
🛠️ 기본 사용법
QFileDialog.getExistingDirectory(parent, caption, directory)
매개변수 | 설명 |
parent | 부모 위젯 (일반적으로 self) |
caption | 대화상자의 제목 (예: "폴더 선택") |
directory | 기본으로 열릴 폴더 경로 (예: C:/Users/사용자명/Downloads) |
이제 다운로드 폴더를 기본 경로로 설정하는 방법을 알아보겠습니다.
📌 다운로드 폴더를 기본 경로로 설정하는 코드
✅ 예제 코드
from PySide6.QtWidgets import QApplication, QFileDialog, QMainWindow, QPushButton
from PySide6.QtCore import QStandardPaths
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("QFileDialog - 다운로드 폴더 기본 경로")
self.setGeometry(300, 200, 400, 200)
button = QPushButton("폴더 선택", self)
button.clicked.connect(self.select_directory)
button.setGeometry(100, 70, 200, 40)
def select_directory(self):
# 다운로드 폴더 경로 설정
download_path = QStandardPaths.writableLocation(QStandardPaths.DownloadLocation)
# 다운로드 폴더를 기본 경로로 설정하여 폴더 선택 다이얼로그 실행
selected_directory = QFileDialog.getExistingDirectory(self, "폴더 선택", download_path)
if selected_directory:
print(f"선택된 폴더: {selected_directory}")
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
반응형
📌 코드 설명
🔹 1. QStandardPaths.writableLocation(QStandardPaths.DownloadLocation) 사용
download_path = QStandardPaths.writableLocation(QStandardPaths.DownloadLocation)
이 코드 한 줄로 운영체제에 관계없이 다운로드 폴더 경로를 가져올 수 있습니다.
운영체제 | 다운로드 폴더 경로 |
Windows | C:/Users/사용자명/Downloads |
macOS | /Users/사용자명/Downloads |
Linux | /home/사용자명/Downloads |
이제, 사용자가 폴더를 선택할 때 기본으로 다운로드 폴더가 열립니다.
🔹 2. QFileDialog.getExistingDirectory로 폴더 선택 다이얼로그 열기
selected_directory = QFileDialog.getExistingDirectory(self, "폴더 선택", download_path)
- "폴더 선택" → 다이얼로그의 제목
- download_path → 다운로드 폴더를 기본 경로로 설정
🔹 3. 선택한 폴더 출력
if selected_directory:
print(f"선택된 폴더: {selected_directory}")
- 사용자가 폴더를 선택하면, 선택된 폴더의 경로를 콘솔에 출력합니다.
📌 실행 화면
- "폴더 선택" 버튼을 클릭하면, 다운로드 폴더가 기본으로 표시된 폴더 선택 창이 열립니다.
- 사용자가 원하는 폴더를 선택하고 확인(OK) 버튼을 클릭하면, 선택한 폴더의 경로가 출력됩니다.
📌 활용 방법
이 코드를 응용하면 다양한 기능을 추가할 수 있습니다.
✅ 특정 하위 폴더를 기본 경로로 설정
예: download_path = f"{download_path}/프로젝트"
→ 다운로드 폴더 안의 "프로젝트" 폴더를 기본 경로로 설정할 수 있습니다.
✅ 선택한 폴더를 저장하고 다음 실행 시 기본 경로로 설정
예: QSettings를 사용하여 마지막으로 선택한 폴더를 저장하고, 다음 실행 시 기본 경로로 설정할 수 있습니다.
반응형
'코딩취미 > Python' 카테고리의 다른 글
PySide6에서 QLabel 스타일 변경 및 Sunken 효과 적용하기 (0) | 2025.02.22 |
---|---|
PySide6 QComboBox 포커스 아웃 이벤트 처리 및 선택 텍스트 확인 방법 (0) | 2025.02.21 |
PySide6에서 다크 모드 시 RibbonBar 텍스트 색상 설정하기 (0) | 2025.02.21 |
파이썬에서 특정 클래스의 멤버 함수를 확인하는 방법 (0) | 2025.02.20 |
PySide6에서 QTreeView 스타일시트 선택자 정리 및 활용법 (0) | 2025.02.20 |