2012-11-05 7 views
1

Qt를 사용하여 GUI를 코딩하고 있습니다. 내가 QtCreator를 사용하여 응용 프로그램을 실행할 때, 내 이미지가로드되지 않습니다, 나는 다음과 같은 오류가 나타날 수C++ Qt - QPixmap이 Qt Creator와 함께로드되지 않고 터미널을 통해 실행될 때로드됩니다.

QPixmap::scaled: Pixmap is a null pixmap 

을하지만, 내가 완벽하게 모든 것을 표시 명령 라인을 통해 응용 프로그램을 실행할 때.

왜 그렇습니까? 그리고 QtCreator에 이미지를 올바르게로드하려면 어떻게해야합니까?

NB : 이미지가 겨우 20K0이므로 이미지가 너무 크다는 것에 대해 읽은 내용은 적용 할 수 없습니다.

편집 : 일반적인 파일 이름은 Images 당신은 아이콘과 같은 응용 프로그램과 함께 번들로 제공한다 이미지로 작업하는 경우 내 프로젝트 디렉토리의 하위 디렉토리가

+0

QtCreator와 명령 줄 사이의 파일 이름과 상대 경로 이름에 차이가 있습니까? pixmap 파일 이름은 어떻게 생겼습니까? 리소스 파일을 사용하고 있습니까? – jdi

+0

이미지가 코드와 동일한 프로젝트 디렉토리에 있으므로 상대 경로에 차이가 없어야합니다. 다음은 경로의 예입니다 : Images/Cards/Base/card01.jpg 리소스 파일을 사용하지 않습니다. 그게 뭐야? –

+1

QtCreator는 일반적으로 소스 외부 빌드를 사용합니다. 이 동작을 변경해도 경로에 문제가 있습니다. 전체 경로를 설정하려고하면 QtCreator에서 올바른 동작을하는 것을 볼 수 있습니다. 그리고 경로가있는 두통이 없도록 리소스를 사용하는 것이 좋습니다. – ixSci

답변

2

(코드 루트에있는)입니다 'Images/Cards/Base/card01.jpg'입니다 그렇다면 Qt Resource system을 사용해보십시오.

이렇게하면 실제 프로젝트에 리소스를 빌드하고 파일 시스템 독립적 구문으로 참조 할 수 있습니다. 즉 : :/icons/myIcon.png

Qt Creator에서 파일의 상대 위치와 명령 행 간의 상대적인 위치가 다를 가능성이 높습니다.

+0

고맙습니다. - 나는 확실히 자원을 사용할 것입니다! –