Seite 1 von 1

Bild wird auf anderem Rechner nicht angezeigt

Verfasst: 25. März 2008 19:51
von Blackfyre
Hallo!

Ich habe ein Programm, in dem auf Knopfdruck ein bestimmtes Bild angezeigt werden kann. Der relative Pfad zu dem Bild ist bekannt. Das kuriose, was ich nicht nachvollziehen kann, ist, dass es nur auf den beiden Rechnern funktioniert, auf denen das Programm auch kompiliert wird. Auf mehreren weiteren Rechnern wird es nicht gefunden. Die exe und das Bild sind relativ zu einander aber genau gleich platziert:

../Prog/src/release/prog.exe
../Prog/data/bild.jpg

Der relative Pfad ist entsprechend mit "../../data/bild.jpg" angegeben.

Hat vielleicht jemand eine Idee, woran es liegen könnte?

Falls es benötigt wird, hier noch der Code für die Bildanzeige. mapFileName ist der relative Pfad und map ein QLabel.

Code: Alles auswählen

void Layout::open()
{
     if (!mapFileName.isEmpty()) 
	 {
         QImage image(mapFileName);
         if (image.isNull()) 
		 {
			 map->setText(tr("NAP cannot load map image."));
			 map->adjustSize();
             return;
		 }
		 map->setPixmap(QPixmap::fromImage(image));
		 scaleFactor = 1.0;
		 map->adjustSize();
	 }
}
Thx
Blackfyre

Verfasst: 25. März 2008 19:54
von SchranZViruS
Wenn du Pfade benutzen willst, die relativ zu deiner Anwendung sind, dann solltest du immer "QCoreApplication::applicationDirPath() + "/" + relativerPfad" benutzen, da du ja nicht immer sicher sein kannst, dass deine Anwendung aus dem gleichen Ordner gestartet wird, in dem es auch liegt. Ein relativer Pfad ist immer relativ zu dem aktuellen Verzeichnis in dem die Anwendung gestartet wurde. Wenn du die Anwendung z.b. über nen Link öffnest kann der Pfad anders sein.

Verfasst: 25. März 2008 20:49
von Blackfyre
Ok, das verstehe ich und es ist sicher sinnvoll und sicherer das Programm entsprechend zu ändern. Sollte es aber nicht eigentlich auch funktionieren, wenn sicher gestellt ist, dass die relativen Pfade zueinander identisch sind? Sprich, dass zwar das "Prog" Verzeichnis irgendwo liegen kann, aber die Unterverzeichnisse von "Prog" immer gleich sind?

Verfasst: 25. März 2008 21:29
von Christian81
Außerdem muss das jpeg-Plugin auf dem anderen Rechner vorhanden sein. Aber die Diskussion hatten wir heute schon einmal in einem anderen Thread...

Verfasst: 25. März 2008 21:51
von Blackfyre
Herzlichen Dank, dass hat das Problem gelöst.