Seite 1 von 1

Bilder im Release Modus laden

Verfasst: 6. Juni 2018 01:12
von Nougat
Hallo zusammen,

ich habe ein Programm für meine Masterarbeit, dass ich nun Freunden zum Testen geben möchte.
Zum einen auf einem Mac und einmal auf einem Windows Rechner. Ich habe die Programme so angepasst, dass sie auf dem jeweiligen System laufen (zumindest wenn ich es in QtCreator bzw. unter Visual Studio ausführe).

Nun gibt es die Möglichkeit, Beispielbilder zu laden, die in dem Ordner TestImages liegen. Der Ordner liegt im gleichen Ordner wie die ausführbare Datei meines Programms. Bei Windows funktioniert dies, wenn auch die .dll Datei, die Visual Studio im Release-Modus erzeugt, in diesem Ordner liegt.

Unter Mac klappt das leider nicht. Wisst Ihr, was man im Code schreiben muss, dass das klappt? Bzw. wo ich die Bilder, die für die Beispiele benötigt werden ablegen muss?

Hier ist mein Code zum Laden eines Beispiels:

Code: Alles auswählen

void MainWindow::LoadEulerLagrangeExample()
{
    ui.img1->OpenImagetxt("TestImages\Euler.jpg");
    ui.img2->OpenImagetxt("TestImages\Lagrange.jpg");
    ui.mask->OpenImagetxt("TestImages\EulerLagrangeMask.jpg");
}
Hoffentlich versteht Ihr mein Problem und könnt mir helfen. :)
LG
Nougat

Re: Bilder im Release Modus laden

Verfasst: 6. Juni 2018 06:29
von Christian81
"TestImages\Euler.jpg" ist definitiv kein korrekter Pfad... entweder "TestImages\\Euler.jpg" oder wie allgemein üblich "TestImages/Euler.jpg"

/edit: außerdem sind relative Pfade immer problematisch da nicht klar ist wo das aktuelle working directory aktuell ist. Deshalb QCoreApplication::applicationDirPath() oder ähnliches benutzen.

Re: Bilder im Release Modus laden

Verfasst: 6. Juni 2018 13:17
von Nougat
Hallo Christian,

danke, das ist genau die Info, die ich gebraucht habe.
Bei den Pfaden hatte ich mich tatsächlich verschrieben. Ich habe "/" benutzt, nur unter Windows hatte ich "\\", da mir ein befreundeter Programmierer dazu geraten hat.

LG
Nane

Re: Bilder im Release Modus laden

Verfasst: 6. Juni 2018 18:07
von Christian81
Qt braucht kein '\\' - auch nicht unter Windows.