Bild auf Label legen(Qt)
-
Hi,
ich habe versucht auf ein Label ein Bild aus der Ressource Datei zu legen, leider ohne Erfolglabel=new QLabel(); picture=new QPicture(); picture->load(":/bilder/bild.png"); label->setPicture(picture);
:
Leider ohne Erfolg:
error: no matching function for call to 'QLabel::setPicture(QPicture*&)'Was mache ich falsch?
-
Du liest die Doku nicht ordentlich, oder weißt aus mangelnden C++-Grundlagen nicht, wie du das richtig machst.
void QLabel::setPicture ( const QPicture & picture )
Und was übergibst du? Einen Pointer.
Außerdem bin ich mir 100%ig sicher dass du nicht QPicture suchst, sondern QPixmap. Schau dir die beiden Klassen in der Doku auch noch mal genauer an.
-
Gut ich nutze jetzt:
label=new QLabel(); pixmap=new QPixmap(); pixmap->load(":/images/bild.png"); label->setPixmap(*pixmap); Layout->addWidget(label);
Kein Fehler, aber es wird kein Bild angezeigt. Muss ich sonst noch irgendwelche Eigenschaften setzen?
-
Bebilderer schrieb:
Kein Fehler, aber es wird kein Bild angezeigt. Muss ich sonst noch irgendwelche Eigenschaften setzen?
Starte doch mal das Programm in ner Konsole, da kommen sicher Warnings, die dich in die richtige Richtung lenken.
BTW:
Warum das pixmap mit new anlegen? In dem Label liegt dann eh ne Kopie, da kannst du dir das Anlegen im dynamischen Speicher schenken.
-
[quote="Bebilderer"]Gut ich nutze jetzt:
label=new QLabel(); pixmap=new QPixmap(); pixmap->load(":/images/bild.png"); label->setPixmap(*pixmap); Layout->addWidget(label);
Kein Fehler, aber es wird kein Bild angezeigt. Muss ich sonst noch irgendwelche Eigenschaften setzen?[/quote]
Und das bild.png ist tatsaechlich als Ressource vorhanden?
Was gibt denn pixmap->load() zurueck?
[Und ja, pixmap auf dem Stack haette es auch getan...]