2015-01-17 3 views
1

QFileDialog.getOpenFileName 정적 메서드에서 옵션을 사용하고 싶습니다.QFileDialog.getOpenFileName에서 옵션을 사용하는 방법?

예를 들어, QFileDialog.ExistingFile과 QFileDialog.Detail의 두 가지 옵션을 설정하고 싶습니다.

나는 이미이 텍스트를 읽었습니다 : http://pyside.github.io/docs/pyside/PySide/QtGui/QFileDialog.html?highlight=getopenfilename#PySide.QtGui.PySide.QtGui.QFileDialog.getOpenFileName 하지만 저는 PySide.QtGui.QFileDialog.Options를 어떻게 사용할 수 있는지 이해하지 못합니까? 내가

options = QFileDialog.DirectoryOnly 
    options |= QFileDialog.List 

를 사용하는 경우

dir = self.sourceDir 
filters = "Text files (*.txt);;Images (*.png *.xpm *.jpg)" 
selected_filter = "Images (*.png *.xpm *.jpg)" 
options = "" # ??? 
fileObj = QFileDialog.getOpenFileName(self, " File dialog ", dir, filters, selected_filter, options) 

작동하지 않습니다.

도움 주셔서 감사합니다.

(윈도우 7 64 비트, PyCharm 3.4.1 파이썬 3.4.0, PySide 1.2.2 프로)

enter image description here

+0

올바른 옵션은 http://qt-project.org/doc/qt-4.8/qfiledialog.html#Option-enum을 참조하십시오. (C++에서 Python으로 변환하면'::'을'.'로 바꿉니다) –

+0

@three_pineapples 답변 주셔서 감사합니다! 귀하의 추천을 사용하려고하지만 작동하지 않습니다 (예 : options = QFileDialog.List). – Igor

+0

그것은'QFileDialog.List'가'QFileDialog.options' 열거 형의 일부가 아니기 때문입니다. 'QFileDialog.options' 열거 형에서만 사물을 사용할 수 있습니다 (링크를주의 깊게 다시 읽으십시오). –

답변

1

네이티브 파일로 정적 함수를 사용하는 경우이 작업을 수행 할 수 없습니다 -대화.

기본 파일 대화 상자에는 Qt 파일 대화 상자와 동일한 API가 없으므로 정적 함수 인수를 통해 사용할 수있는 속성 만 설정할 수 있습니다. 즉 캡션, 제목, 작업 디렉토리, 필터를 의미합니다 , 및 options.

정적 기능이 더 많거나 적은 다양한 file modes 일치 :

AnyFile = getSaveFileName 
ExistingFile = getOpenFileName 
Directory = getExistingDirectory 
ExistingFiles = getOpenFileNames 

정적 기능을 사용하여 ShowDirsOnly 옵션은 getExistingDirectory 작동합니다. 그러나 Windows에서는 DontUseNativeDialog 옵션을 설정하지 않는 한 네이티브 "폴더 찾아보기"대화 상자가 열리므로 ShowDirsOnly 옵션이 중복 될 수 있습니다.

현재 정적 함수를 사용할 때 기본 대화 상자에 ViewMode을 설정하는 방법은 없으며 QFileDialog에 해당하는 다른 모든 API에 대해서도 마찬가지입니다.

짧은 설명 : 파일 대화 상자를보다 강력하게 제어하려면 내장 된 Qt를 사용하십시오. 이것이 바로 그 때문입니다.

+0

대단히 감사합니다 !!! – Igor