Seite 1 von 1

QT Designer + QGraphicsView + Bitmap anzeigen

Verfasst: 8. März 2009 20:26
von etsmart
Servus,

Ich habe eine Oberfläche mit verschiedenen QGraphicsView Objekten. In diesen möchte ich zunächst einmal Bitmaps anzeigen lassen.

Ich denke das sollte so normal funktionieren:

Code: Alles auswählen

QGraphicsScene *scene1 = new QGraphicsScene();
scene1->addPixmap(QPixmap("Bilder/testbild.jpg") );
view1->addScene(scene1);
Da ich das ganze mit dem Designer geschaffen habe, weiß ich nicht, wo ich das hinsetzen soll.
Ich hab das mal in das MainWindowImpl reingesetzt. Aber da tut sich nix.

Code: Alles auswählen

MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f) 
	: QMainWindow(parent, f)
{
	setupUi(this);
		
	QGraphicsScene *sceneEinspeisung = new QGraphicsScene();
	sceneEinspeisung->addPixmap(QPixmap("/Main/Einspeisung.jpg") );
	Einspeisung->setScene(sceneEinspeisung);

}
//
Das Bild ist in den Resourcen drin, also

Code: Alles auswählen

:/Main/Einspeisung.jpg

Verfasst: 12. März 2009 11:02
von sonynos
Dir fehlt die Zuordnung zwischen den scenes und den views.

Nehmen wir an, Deine views heißen mGv1 ... mGvN. Dann würdest Du dem ersten QGraphicsView Deine scene folgendermaßen zuweisen:

Code: Alles auswählen

mGv1->setScene(sceneEinspeisung);
Am besten in der Doku nachlesen unter The Graphics View Framework.

Verfasst: 12. März 2009 21:42
von etsmart
Du meinst wie

Code: Alles auswählen

Einspeisung->setScene(sceneEinspeisung); 
Wie man sehen kann, hatte ich das bereits geschrieben.

Ich denke das ist vielleicht eine Einstellungssache. Ich nutze QDevelop. Muss ich die Ressource-Datei erst mit einem bestimmte Befehl bekannt machen. Wenn ich den absoluten Pfad nutze (z.b D:/dir1/dir2/bild.jpg) dann wird es angezeigt.

Verfasst: 13. März 2009 10:28
von Strahlex
Hast du dir schon mal Qt Creator angesehn? Würd ich dir als Anfänger empfehlen, kann wesentlich mehr als QDevelop.

Re: QT Designer + QGraphicsView + Bitmap anzeigen

Verfasst: 13. März 2009 10:42
von franzf
etsmart hat geschrieben:Da ich das ganze mit dem Designer geschaffen habe, weiß ich nicht, wo ich das hinsetzen soll.
Ich hab das mal in das MainWindowImpl reingesetzt. Aber da tut sich nix.

Code: Alles auswählen

MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f) 
	: QMainWindow(parent, f)
{
	setupUi(this);
		
	QGraphicsScene *sceneEinspeisung = new QGraphicsScene();
	sceneEinspeisung->addPixmap(QPixmap("/Main/Einspeisung.jpg") );
	Einspeisung->setScene(sceneEinspeisung);

}
//
Das sollte so auch gar nicht mal kompilieren. Oder implementierst du selber eine Methode "setpUi()"?
Les dir doch mal erst in aller Ruhe durch, wie du den Designer nutzt, die ui einbindest.
Und wegen den resourcen hast du in dem anderen Thread ja bereits Antworten bekommen.