2013-04-15 15 views
6

muszę uzyskać obraz etykiety w Qt WidgetUstawianie obrazu na etykiecie w Qt

Próbowałem umieszczenie etykiety na widget potem po prostu na swoje właściwości po prawej stronie pod tekstem Wybrałem pixmapę i wybrany obraz, który chciałem użyć.

Jednak gdy uruchomię program, żaden obraz nie pojawia się żadnych pomysłów, dlaczego to jest?

iv próbował również

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

ale nie miał szczęścia nie sądzę używałem go tuż

każda pomoc będzie bardzo mile widziane

+0

Można to również zmodyfikować styl 'QLabel' przy użyciu składni CSS. – nbro

Odpowiedz

8

oficjalnej drogę „dodając zdjęcie do QLabel” świadczone przez Używana jest Nokia Corp. A QPixmap.

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

label.show(); 
+0

@AngryDuck Dodaj swój kod testowy do pytania. Powyższy kod jest poprawny, ale katalog przykładowego obrazu plakatu znajduje się w pliku zasobów - czy właśnie go skopiowałeś, a Twój obraz nie znajduje się w pliku zasobów? – cmannett85

+0

@AngryDuck Jeśli robisz to w projektancie, czy projektant przynajmniej wyświetla obraz? Jeśli aplikacja tego nie pokazuje, może to oznaczać, że aplikacja nie może znaleźć obrazu (może jest to względna ścieżka pliku?). Najprostszym sposobem obejścia tego (i spakowania wszystkich obrazów za pomocą aplikacji) jest użycie mechanizmu zasobów Qt, aby włączyć go bezpośrednio do pliku binarnego aplikacji. Jest to zalecane podejście, szczególnie w przypadku takich obrazów związanych z interfejsem użytkownika, które zawsze muszą być obecne (i zazwyczaj nie obejmują też dużej ilości pamięci). –

+0

Tak, to pokazuje obraz w projektancie, ale nie po skompilowaniu aplikacji, wybrałem obraz z rozwijanego menu pod pixmapą we właściwościach etykiety. a obraz znajduje się w moim katalogu projektu? – AngryDuck

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

Innym sposobem jest użycie Qt arkusze stylów.

QLabel label; 
label.setStyleSheet("background-image: url(:/images/assets/your.png)") 
Powiązane problemy