파이썬으로 윈도우 컴퓨터의 PySide6 폴더 선택 하는 코드를 알아보도록 하겠습니다.
내 컴퓨터의 특정 폴더를 작업 대상으로 하는 등의 작업을 할 때 주로 사용되는 컨트롤 입니다.
폴더 선택 파이썬 기본 코드
PySide6에서 폴더 선택하는 코드는 다음과 같습니다.
import sys
from PySide6.QtWidgets import QApplication, QFileDialog
app = QApplication(sys.argv)
folder = QFileDialog.getExistingDirectory(None, "폴더 선택")
print(folder)
PySide6를 사용하는 모든 GUI 애플리케이션에 필요한 QApplication 클래스의 인스턴스를 만듭니다.
from PySide6.QtWidgets import QApplication
그런 다음 QFileDialog 클래스에서 getExistingDirectory 메서드를 호출하여 기존 디렉터리(폴더)를 선택하기 위한 대화 상자를 불러옵니다.
folder = QFileDialog.getExistingDirectory(None, "폴더 선택")
getExistingDirectory의 두 번째 인수는 대화 상자의 제목입니다.
그리곤 간단히 선택한 폴더 경로가 getExistingDirectory에 의해 리턴된 폴더명을 print 하는 코드입니다.
PySide6 폴더 선택 버튼 및 출력(응용)
그러면 우리는 폴더 선택 창을 선택하면 PySide6의 Edit 창에 찍어주는 코드를 만들어 보도록 하겠습니다.
import sys
from PySide6.QtWidgets import (
QApplication,
QMainWindow,
QVBoxLayout,
QLineEdit,
QWidget,
QFileDialog,
QPushButton,
QHBoxLayout
)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 프로그램 타이틀 지정
self.setWindowTitle("Pyside6 폴더 선택하기")
# 메인 레이아웃
self.layout = QHBoxLayout()
# 라인에디트
self.qLineEdit = QLineEdit()
# 폴더 선택 버튼 생성
self.qCallBtn = QPushButton()
self.qCallBtn.setText("...")
self.qCallBtn.clicked.connect(self.qCallBtnClicked)
self.layout.addWidget(self.qLineEdit)
self.layout.addWidget(self.qCallBtn)
self.widget = QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)
self.move(300, 300)
self.resize(400, 200)
def qCallBtnClicked(self ):
# 폴더 선택
folderPath = QFileDialog.getExistingDirectory(None, "폴더 선택")
self.qLineEdit.setText(folderPath)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
setWindowTitle로 윈도우 앱의 타이틀을 지정합니다.
self.setWindowTitle("Pyside6 폴더 선택하기")
레이아웃을 생성하여 라인에디트 컨트롤과 PySide6 폴더 선택 버튼을 배치할 예정입니다.
self.layout = QHBoxLayout()
라인에디트 컨트롤을 생성합니다.
self.qLineEdit = QLineEdit()
폴더 선택할 버튼을 생성한 후 클릭이벤트를 연결합니다.
self.qCallBtn = QPushButton()
self.qCallBtn.setText("…")
self.qCallBtn.clicked.connect(self.qCallBtnClicked)
컨트롤을 레이아웃 컨트롤에 추가합니다.
self.layout.addWidget(self.qLineEdit)
self.layout.addWidget(self.qCallBtn)
버튼 클릭 이벤트가 발생하면 폴더 선택 다이얼로그를 호출한 후 선택 이후에는 라인에디트 컨트롤에 찍어줍니다.
folderPath = QFileDialog.getExistingDirectory(None, "폴더 선택")
self.qLineEdit.setText(folderPath)
오늘은 파이썬 PySide6 폴더 선택하는 방법에 대해서 알아보았습니다. 파이썬으로 PySide6 개발할 때 유용하게 참고해 보시기 바랍니다.
좀 더 자세한 PySide6 폴더 선택 가이드는 여기에서 확인할 수 있습니다.
PySide6와 PyQT의 차이점은 여기에서, Python 개발을 위한 pip 설치 방법은 여기에서 확인할 수 있습니다.