2013-04-15 8 views
6

Ich brauche ein Etikett Bild in ein Qt WidgetEinstellen eines Bildes auf einem Etikett in Qt

i auf das Widget eine Markierung setzen versucht haben, erhalten dann nur auf seine Eigenschaften auf der rechten Seite unter Text ausgewählt i pixmap und ausgewählt das Bild, das ich verwenden wollte.

aber wenn ich das Programm kein Bild erscheint keine Ideen, warum das ist ??

iv versuchte auch

QLabel label("<img src='image.jpg' />"); 
label.show(); 

hatte aber kein Glück denkt nicht, dass ich es wurde mit Recht

jede Hilfe würde wirklich

+0

Sie können auch den Stil des 'QLabel' mit' CSS' Syntax ändern. – nbro

Antwort

8

Official Art und Weise von „Hinzufügen von Bild zu QLabel“ zur Verfügung gestellt von geschätzt werden Nokia Corp. A QPixmap wird verwendet.

QLabel label; 
QPixmap pixmap(":/path/to/your/image.jpg"); 
label.setPixmap(pixmap); 
label.setMask(pixmap.mask()); 

label.show(); 
+0

@AngryDuck Fügen Sie Ihrer Frage Ihren Testcode hinzu. Der obige Code ist korrekt, aber das Beispiel-Bildverzeichnis des Posters befindet sich in einer Ressourcendatei - haben Sie das einfach kopiert und Ihr Bild befindet sich nicht in einer Ressourcendatei? – cmannett85

+0

@AngryDuck Wenn Sie es im Designer tun, zeigt der Designer mindestens das Bild? Wenn die Anwendung es nicht zeigt, dann kann es sein, dass die Anwendung das Bild nicht finden kann (vielleicht ist es ein relativer Dateipfad?). Der einfachste Weg, dies zu umgehen (und alle Bilder mit der Anwendung zu packen), besteht darin, den Ressourcenmechanismus von Qt zu verwenden, um ihn direkt in die Binärdatei der Anwendung aufzunehmen. Dies ist der empfohlene Ansatz, insbesondere für solche UI-bezogenen Bilder, die sowieso immer vorhanden sein müssen (und normalerweise auch nicht viel Speicher umfassen). –

+0

Ja, es zeigt das Bild im Designer, aber nicht, wenn die Anwendung kompiliert wird, ich habe das Bild nur aus dem Dropdown-Menü unter Pixmap in Label-Eigenschaften ausgewählt. und das Bild befindet sich in meinem Projektverzeichnis? – AngryDuck

0
QIcon searchIcon = Icon::fromTheme("edit-find"); 
searchLabel->setPixmap(searchIcon.pixmap(16,16)); 
0

Ein anderer Weg ist Qt Style Sheets zu verwenden.

QLabel label; 
label.setStyleSheet("background-image: url(:/images/assets/your.png)") 
Verwandte Themen