본문 바로가기
Python

[pyQT] File/Directory 선택 Dialog 띄우기 QFileDialog

by bryan.oh 2020. 12. 11.
반응형

QFileDialog

 

    def folderOpen(self):
        """
        file/files/folder 선택 dialog
        """
        
        # Directory 를 선택합니다.
        folder = QFileDialog.getExistingDirectory(self.window, "Select Directory")
        print(folder)
        # C:/Users/combr/PycharmProjects/somePath/venv/Lib
        
        # File 하나를 선택합니다. Tuple 로 리턴합니다. 첫번째 path:str
        file = QFileDialog.getOpenFileName(self.window, 'Choose File', folder, filter='')
        print(file)
        # ('C:/Users/combr/setuptools-40.8.0-py3.7.egg', 'All Files (*)')
        
        # File 여러개를 선택합니다. Tuple로 리턴합니다.첫번째 files:list
        files = QFileDialog.getOpenFileNames(self.window, 'Choose Files', folder, filter='*.pth')
        print(files)
        # (['C:/Users/combr/easy-install.pth', 'C:/Users/combr/setuptools.pth'], '*.pth')

 

  • filter 에 *.pth 로 입력하면 확장자가 .pth 로 끝나는 파일들만 보여집니다.
  • 그 외 옵션에 대해서는 여기를 참고하세요.

 

<참고>

self 를 사용한 이유는

QObject 를 받아서 class 로 만들어서 위의 self.window 로 넣었습니다.

self.window 는 

class App(QObject):
    def __init__(self, ui_file_name, parent=None):
        super(App, self).__init__(parent)
        ui_file = QFile(ui_file_name)
        ui_file.open(QFile.ReadOnly)
        loader = QUiLoader()
        self.window = loader.load(ui_file)
        ui_file.close()

 

 

 

728x90
반응형

댓글