Bild in Layout Laden

Alles rund um die Programmierung mit Qt
Antworten
energetic
Beiträge: 17
Registriert: 25. Mai 2009 22:31

Bild in Layout Laden

Beitrag von energetic »

Hi, ich bin grade am verzeifeln, wie man ein Bild aus einer Datei lädt und dieses in ein Layout einfügt. Ein Bild ist ja kein Widget, deshalb versuche ich es mit QLabel::setPixmap bzw. setPicture. keins von beiden klappt. Der bekommt die Datei einfach nich geladen. hier der Code:

Code: Alles auswählen

	QLabel *pictureLabel = new QLabel();
	pictureLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
	pictureLabel->setAlignment(Qt::AlignCenter);
	pictureLabel->setMinimumSize(208, 485);
	QHBoxLayout *pictureLayout = new QHBoxLayout();
	pictureLayout->addWidget(pictureLabel);
	QPicture picture;
	if(!picture.load("/home/xxxxxxxx/Projekte/Millionär/share/img/test.png"))
		qDebug() << "Fehler beim Laden!!!";
	pictureLabel->setPicture(picture);
	
    //"layout" wurde weiter oben erzeugt
	layout->addLayout(pictureLayout)
MfG energetic
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Und was genau geht nicht?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

1. Sollte man Pfade niemals absolut angeben
2. QLabel::setPixmap()
energetic
Beiträge: 17
Registriert: 25. Mai 2009 22:31

Beitrag von energetic »

also, wenn ich das Programm starte, kommt von QDebug "Fehler beim Laden!!!" deshalb muss der Fehler beim Laden in der Zeile 8 liegen. Aber ich weiß net woran.

@ Strahlex:
Ich verwende normalerweise ein Resourcen-System, welches ich in diesem Projekt aber noch nicht erstellt habe.
Und sowohl QLabel::setPixmap als auch QLabel::setPicture funktionieren nicht.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Kann ein QPicture überhaupt png's laden? Und selbst wenn, wäre ein QImage/QPixmap besser dafür geeignet.
energetic
Beiträge: 17
Registriert: 25. Mai 2009 22:31

Beitrag von energetic »

Nun, ich weiß nicht genau, aber ich habs ja auch mit QPixmap probiert.
Soweit ich weiß ist png aber OpenSource und wird deshalb sehr wahrscheinlich unterstützt werden.

Aber das löst mein Problem leider nicht...
energetic
Beiträge: 17
Registriert: 25. Mai 2009 22:31

Beitrag von energetic »

nun es geht jetzt :lol:
Der Code:

Code: Alles auswählen

	QHBoxLayout *imageLayout = new QHBoxLayout();
	QLabel *imageLabel = new QLabel();
	imageLabel->setPixmap(QPixmap(iconPath));
	imageLayout->addWidget(imageLabel);
Keine Ahnung warum es jetzt geht. ich könnte schwören gestern ging das nicht. Aber seis drum... Problem gelöst

thx für die Hilfe

Mfg energetic
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

PNG wird auf allen Systemen unterstützt. :wink:
Antworten