지난 몇 시간 동안 QAction의 아이콘 표시 문제를 해결하려고합니다.
문제는 아이콘이 표시되지 않으며 '도로'위치에 텍스트 암호 해독 만 적용된다는 것입니다.
항상 디버그를 시도했습니다. QPixmap이 NULL 인 경우 파일을 찾을 수없는 것처럼 보입니다.QAction이 Pixmap의 아이콘을 표시하지 않습니다.
여기에 내 코드처럼 보이는 방법은 다음과 같습니다
QPixmap icon(":/road.png");
QAction *A1 = new QAction(icon,"Road...", 0);
A1->setIconVisibleInMenu(true);
A1->setVisible(true);
connect(A1, SIGNAL(triggered()), SLOT(triggeredA1()));
나는 this article을 읽었습니다. 나는 하위 디렉터리 '입술'을 만들어 거기에 배치 한 src 디렉토리에서
RESOURCES = ./res/icons.qrc
내 아이콘 :
-src
--res
road.png
load.gif
done.gif
방법은 다음과 같습니다 내 아이콘의 는에 따르면 나는 추가 라인으로 내 프로 파일을 변경했습니다 .qrc 파일과 같이 보인다 :
<RCC>
<qresource prefix="/">
<file>road.png</file>
<file>done.gif</file>
<file>load.gif</file>
</qresource>
</RCC>
후에도 모든 조작 QPixmap 여전히 NULL. 내가 뭘 잘못하고 있니?
내가 사용 :
흠, 파일 이름은'roads.png'이지만'road.png'라고합니다? .qrc 파일이있는 디렉토리와 같은 디렉토리에 이미지 파일을 넣으십시오. – vahancho
@vahancho, 그냥 오타이긴하지만 고마워요 :) – tema
** 이미지를 열 수 있는지 여부를 확인하십시오. 예를 들어'QPixmap icon ("path_to_the_image_file"); bool b = icon.isNull();'. 가능한 경우 문제는 리소스 파일과 관련됩니다. – vahancho