2014-03-03 9 views
0

QFile.open()을 사용하여 qt 작성자에서 파일을 만들거나 저장하려고했습니다. 그러나 항상 응용 프로그램의 빌드 폴더에 파일을 작성/저장합니다. 나는 내 소스/헤더 파일이있는 디렉토리 내에서 내 디렉토리로이 코드를 변경하려고 시도했다.qt의 QFile.open 및 Qdir을 사용하여 특정 디렉토리에 파일 저장

올바른 디렉토리가 아니라 tmp 파일을 만듭니다. 상대 디렉토리를 지정하고 싶습니다. 어떻게 접근 할 수 있는지 생각해보십시오.

+0

프로세스의 현재 디렉토리를 변경할 필요가 없습니다. 그것은 단순히 필요하지 않습니다. –

답변

0

현재 디렉토리를 변경해야한다고 생각하지 않습니다. 현재 디렉토리를 변경하지 않고 파일에 절대 파일 경로를 생성 할 수 있습니다 :

QDir dir("/main/ui"); 
file.setFileName(dir.absoluteFilePath("tmp.ui")); 

그러나 그것은 또한 무의미한 것 같습니다. file.setFilename("/main/ui/tmp.ui")으로 작성할 수 있습니다.

'/'로 시작하는 경로는 절대 경로입니다. 파일 시스템 루트에 '/ ui'또는 '/ main'디렉토리가 있는지 확인 하시겠습니까? 그것은 가능성이 없습니다. 유효한 절대 경로를 QDir으로 지정하십시오. 상대 경로를 지정하려면 초기 현재 디렉토리 (예 : 빌드 디렉토리)에서 검색됩니다.