Bild wird auf anderem Rechner nicht angezeigt

Alles rund um die Programmierung mit Qt
Antworten
Blackfyre
Beiträge: 5
Registriert: 19. März 2008 18:48

Bild wird auf anderem Rechner nicht angezeigt

Beitrag 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
SchranZViruS
Beiträge: 31
Registriert: 3. Februar 2008 01:33

Beitrag 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.
Blackfyre
Beiträge: 5
Registriert: 19. März 2008 18:48

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Blackfyre
Beiträge: 5
Registriert: 19. März 2008 18:48

Beitrag von Blackfyre »

Herzlichen Dank, dass hat das Problem gelöst.
Antworten