본문 바로가기
!?/C++

QT File browser

by Where's my namespace 2014. 8. 29.

QT에서도 File browser를 켜서 파일의 위치, 이름 등을 파악할 수 있다. 




윈도우 처럼 파일 탐색 브라우져를 새 창으로 열어서 할 수도 있고, 기존의 창에서, tree view와, list view를 이용해서도 할 수 있다.


우선, tree view와 list view를 이용해서 확인하는 방법은 



http://www.youtube.com/watch?v=92biLZST6Vg



위의 링크로 타고 들어가면, 간단한 설명을 볼 수 있다.


간단하게 소스코드로 나타내자면, 




위와 같이 변수를 선언해 준다. 변수명은 자유롭게. QFileSystemModel를 사용하려면, 헤더에 QFileSystemModel을 추가해주면 된다. 





그리고 위와 같이 셋팅을 해준다. QString str의 실행 했을 때, 바로 보이는 위치를 설정할 수 있다. 다만 해본 결과, 바로 바탕화


면을 보이게 하고 싶었는데, 되진 않는다. "C:\Users" 까지 하면, 보이긴 하지만, 원하는 기능은 아니므로 여하튼 패스한다. 


setFilter()로 해주는 파라미터들은, 해당 뷰에 어떤 파일들만 보이게 할 것인지를 설정하는 것이다. 




그리고 tree view를 클릭하면, list view에서 내부 파일들을 보고 싶게 구현하려면 위와 같은 코드로 사용하면 된다. 


결과는 위의 동영상에서도 볼 수 있으므로 패스한다. 




//-----------------------------------------------------------------------------------------------------------//



위의 방법으로도 파일 브라우져를 구현할 수는 있지만, 원하는 것 만큼 깔끔하게, 그리고 흔히 사용하던 윈도우 환경에서의 파


일 브라우져만큼의 완성도를 나타내려면 추가적인 구현을 많이 해주어야 한다.


그래서, 아래 방법을 사용하면 완벽한 파일 브라우져를 띄울수 있다.



코드도 훨씬 간단하다. 




위의 코드에서 QFileDialog를 사용하려면 헤더로 QFileDialog를 추가해주면 된다. 


위의 코드에서 "ui->progressBar->setValue(0)"은 다른 기능을 수행하는 것이므로 패스하면 된다. 


이렇게 코드를 구현하면, 브라우져에서 선택한 파일 주소가 QString filePath 변수에 들어간다. 





실행시키면 위의 화면처럼 완벽한 파일 브라우져가 실행된다. 



'!? > C++' 카테고리의 다른 글

QT Excel Automation  (0) 2014.08.25
형변환  (0) 2012.10.12
연산자 오버로딩  (0) 2012.10.12
접근 범위, 존속 기간  (0) 2012.09.14
Exception Handling  (0) 2012.09.10