2016-06-06 2 views
-1

리소스 파일에 그림이 몇 개 있는데 그 파일 이름은 staffId에 해당합니다. 이것은 그림을 내 QLabel으로 설정하는 방법이지만 아무 것도 표시되지 않습니다.Qt 이미지를 참조 변수 라벨로 설정하십시오.

QString staffId; 
staffId=ui->lineEdit_staffID->text(); 
QPixmap managerPic(":/staff/\'"+staffId+"\'.jpg"); 
managerInterface.ui->label_mpic->setScaledContents(true); 
managerInterface.ui->label_mpic->setPixmap(managerPic); 
+5

왜 'staffId' 문자열 앞뒤에'\''문자를 넣고 있습니까? 파일 이름에 작은 따옴표가 포함되어 있습니까 ??? – Mike

답변

0

저는 여기 @Mike와 함께 사용합니다. 아마도 가장 작은 따옴표는 파일 이름의 일부가 아닙니다. 디버거를 사용하여 QPixmap 생성자에 전달 된 내용을 확인하거나 이름을 별도의 QString 변수에 넣고 qDebug()에 입력하여 포함 된 내용을 확인할 수 있습니다.

일반적으로 연결 대신 문자열을 생성하는 데 더 나은 문자 QString::arg()을 사용하는 것이 좋습니다. 대개 읽기 쉽고 이해하기 쉽습니다.

QPixmap managerPic(QString(":/staff/\'%1\'.jpg").arg(staffId)); 
QPixmap managerPic(QString(":/staff/%1.jpg").arg(staffId)); 
관련 문제