2010-03-31 3 views
3

동일한 기능을 사용하여 디렉토리 및 파일을 열려고합니다. QT에서 동일한 작업을 수행 할 수 있습니까? 중고QT에서 파일 및 디렉토리 열기 방법

QString directory = QFileDialog::getExistingDirectory(this, tr("Open Directory"), 
     "", 
    QFileDialog::ShowDirsOnly 
    | QFileDialog::DontResolveSymlinks); 

여기서는 디렉토리 만 열 수 있습니다. 어떻게 하나의 함수

+0

아마도 답변 중 하나를 수락하거나 맞는 답변이없는 질문을 펼쳐야 할 수도 있습니다. –

답변

2

음을 사용하여 파일 및 디렉토리를 모두 열고, 나는 어쩌면 당신이 QDirModel 사용할 수 있습니다 ... QFileDialog이 일을 할 수 있다고 생각하지 않습니다. 그 트릭을해야합니다 ... "찾아보기"버튼이나 그런 것을 클릭하면 QTreeView을 사용하여 위젯을 열고 QDirModel을 사용하면 선택한 항목과 해당 경로를 파일/예배 규칙서. 자세한 내용은 Qt Assistant의 설명서 및 Dir View 예제를 참조하십시오.

은 편집 :QFileSystemModel 대신 QDirModel를 사용하는 것이 좋습니다. Patrice에게 조언을 해주셔서 감사합니다.

+1

QDirModel은 설명서에 지정된대로 더 이상 사용하지 않아야합니다. http://doc.trolltech.com/4.6/qdirmodel.html#details –

1

파일을 가져 오는 데 getOpenFileName 함수를 사용해야하고 디렉토리를 가져 오는 데 getExistingDirectory 함수를 사용해야합니다. QFileDialog 클래스의 고유 함수를 사용하여 동시에 둘을 수행 할 수는 없습니다.

  • QTreeView으로 QFileSystemModel를 사용하여 QfileDialog 클래스 또는
  • 의 서브 클래스 :

    는 다음과 같은 방법으로 스스로를해야한다.