Seite 1 von 1

Bild aus Pixmap wird nicht angezeigt

Verfasst: 2. Oktober 2008 21:49
von chrootdev
Hallo,

ich habe eine eigene klasse von qlabel abgeleitet und möchte ein bild darauf setzen.

Das erledige ich mit qpixmap. Jedoch wird das bild nicht angezeigt, und ich weiß nicht warum. Das bild wird als resource eingebunden.

*.h

Code: Alles auswählen

#ifndef OBSLABEL_H
#define OBSLABEL_H

#ifdef BULD_DLL
	#define EXPORT_DLL Q_DECL_EXPORT //for windows
#else
	#define EXPORT_DLL
#endif

#include <QtGui/QLabel>
#include <QtCore/QObject>
#include <QtGui/QPixmap>

namespace obs_core {

	class EXPORT_DLL OBSHeaderLabel : public QLabel {

		Q_OBJECT

		public:
			OBSHeaderLabel();
		private:
			QPixmap *pm;
	};

}

#endif
*.cpp

Code: Alles auswählen

#include "obs_header_label.h"

obs_core::OBSHeaderLabel::OBSHeaderLabel():QLabel() {
	pm = new QPixmap();
	pm->load(":/images/header_logo.png");

	setPixmap(*pm);

	setStyleSheet("QLabel { background-color: white; border-bottom: 1px solid #000000;}");
	setFixedHeight(60);
}
Was läuft hier bei mir falsch?

Danke!

Verfasst: 5. Oktober 2008 17:44
von Christian81
Zuerst einmal hast Du eine memleak - Du erzeugst mit new eine Instanz, löschst sie später aber nicht mehr.
Zum zweiten würde ich schauen ob QPixmap::load() true zurückgibt.

Verfasst: 5. Oktober 2008 20:01
von rafilis1982
Ich habe ein ähnliches Problem und stelle mal einfach meine Frage hierein um nicht unnötig ein neues Thema aufzumachen.

Folgende Situation:
Ich möchte ein QPixMap in ein vorhandes QWidget reinladen. Funktioniert soweit auch.

Also zuerst Qlabel erzeugt, dann über setPixmap Bild reingeladen.

Nur das Bild wird nicht entsprechend der Größe des Widgets verkleinert, sondern wirkt wie ausgeschnitten.

Maßnahmen wie scaled() in dem ich ihm die Größe des Widgets (ui.logo_tu->size) übergebe, funktionierten auch nicht.

Ausschnitt:

Code: Alles auswählen

logo_tu_pix.scaled(ui.logo_tu->size(),Qt::IgnoreAspectRatio);
Was muss ich machen, damit das Bild eintsprechend angepasst wird?

Verfasst: 5. Oktober 2008 20:06
von Christian81
rafilis1982 hat geschrieben: Was muss ich machen, damit das Bild eintsprechend angepasst wird?
Doku lesen
Returns a copy of the pixmap scaled to ...

Verfasst: 5. Oktober 2008 22:30
von rafilis1982
Alles klar, danke!

Manchmal sieht man den Wald vor lauter Bäumen nicht ;)