2011-12-01 2 views
1

파일을 직접로드해야하는 경우 (QImage i1("image1.jpg");) 어디에 저장해야합니까?QImage 클래스 : 파일로드

파일의 전체 경로를 제공해야합니까 아니면 짧은 경로 만 필요합니까?

+0

당신은 무엇을 시도 했습니까? 전체 경로 또는 상대 경로를 모두 사용할 수 있습니다. –

답변

8

이미지가 걱정되지 않으려 고하고 싶지 않으신다면 Qt Resources을 사용해보십시오. Qt Resources는 이미지를 플랫폼과 독립적으로 실행 파일에 임베드합니다. 이미지는 컴파일 할 때 파일 시스템에서 가져오고, Qt Creator와 같은 IDE는 실제로 그 일을 도와줍니다.

예. 당신이 당신의 파일을 포함하는 "이미지"라는 자원을 만든 경우, 당신은

QImage(":/images/image1.jpg")

+0

+1 언급 했어야합니다. – Bart

1

질문에 작성한대로 QImage를 사용하려면 이미지가 현재 디렉토리에 있어야합니다. 대부분 실행 파일이 저장된 디렉토리입니다.

그렇지 않으면 상대 경로 또는 전체 경로를 지정해야합니다.

0

사용 면죄 경로를 입력하거나 현재 경로에 image1.jpg를 복사하여 이미지를 참조 할 수있다.

qt 작성자의 현재 경로가 * .exe와 같지 않지만 부모 (디버그/릴리스)입니다. 찾으려면 아래 코드를 사용하십시오.

QString fileName = QFileDialog::getOpenFileName(this, 
           tr("Open Image"), 
           QDir::currentPath(), 
           tr("Image Files (*.png *.jpg *.bmp)"));