2013-07-14 5 views
0

그룹에서 40 개의 확인 가능한 푸시 버튼이있는 프로젝트에서 작업 중이며, 정의한 값에 따라 버튼의 아이콘을 변경하고 싶습니다. 새로운 푸시 버튼을 만들지 않고 현재 푸시 버튼 아이콘 만 변경하고 있습니다. 그래서 하나의 버튼 아이콘을 변경하려고 시도하고 있습니다. 여기 (Qt C++) QPushButton setIcon()이 작동하지 않습니다.

내 현재 코드 :

가, 내가 미쳤다고하지만, 그래서 아무 변화처럼 함께 올바른 엉망 적이되도록 자원 경로 내 리소스 파일에서 직접 복사 된
QPixmap b1d0(":/textures/blocks/textures/blocks/stone.png"); 

QIcon ButtonIcon(b1d0); 
ui->slot_0->setIcon(ButtonIcon); 
ui->slot_0->setIconSize(b1d0.rect().size()); 

...

slot_0이 내 푸시 버튼입니다.

내가 뭘 잘못 했니? 아니면 기존의 푸시 버튼 아이콘을 변경할 수 있습니까? 시간에 대한

감사합니다 :)

+0

확인하면'b1d0.isNull() ''TRUE '를 반환합니다. 그럴 경우 이미지 파일을 찾지 못하거나 읽지 못했습니다. –

+0

흥미 롭습니다. 사실이지만, 내 리소스 파일에서 직접 경로를 복사 했습니까? 나는 계속 그걸 망칠거야. – mrg95

+0

그래서 C : 드라이브에서 직접 그림 파일로 경로를 변경했습니다. 그것은 null에 머물렀다. 내가 PNG를 픽스맵이나 다른 것에 넣을 수 없다고 생각하니? – mrg95

답변

1

Windows에서 컴파일러로 MSVC를 사용하고 Qt의 리소스 시스템을 사용하려면에있는 경우, 당신은 main()의 시작 부분에

Q_INIT_RESOURCE(res) 

를 추가해야합니다 여기서 res는 ".qrc"가없는 .qrc 파일의 이름입니다.

이 골자를 보면,이의 전체보기를 얻으려면 :

https://gist.github.com/alexreinking/5992821