2016-06-06 11 views
-1

Ich habe ein paar Bilder in der Ressource-Datei und ihre Dateinamen entsprechen ihren staffId s. So stelle ich das Bild in meine QLabel ein aber es wird nichts angezeigt.Qt Setzen Sie Bild auf Label Referenzvariable

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

Warum setzen Sie '\ '' Zeichen vor und nach der 'staffId' Zeichenkette? Enthält Ihr Dateiname einzelne Anführungszeichen? – Mike

Antwort

0

Ich bin mit @Mike hier, wahrscheinlich sind die einfachen Anführungszeichen nicht Teil Ihrer Dateinamen. Sie können den Debugger verwenden, um zu sehen, was an den QPixmap-Konstruktor übergeben wird, oder den Namen in eine separate QString-Variable schreiben und in qDebug() schreiben, um zu sehen, was es enthält.

Im Allgemeinen verwenden Sie besser QString::arg(), um Strings statt Verkettung zu erstellen; Normalerweise ist es einfacher zu lesen und zu verstehen:

QPixmap managerPic(QString(":/staff/\'%1\'.jpg").arg(staffId)); 
QPixmap managerPic(QString(":/staff/%1.jpg").arg(staffId)); 
Verwandte Themen