Seite 1 von 1

Problem mit QFile

Verfasst: 25. August 2011 17:12
von Algorithm93
Hallo,

ich habe zum Einstieg ein einfaches Programm geschrieben.
Es soll eine .txt Datei einlesen und derren Inhalt auf einem QTextEdit anzeigen.
Ich arbeite mit QtCreator + Qt Version 4.7.0 unter OpenSuse 11.3.

Hier ein Code-Auszug:

Code: Alles auswählen

QFile Datei("test.txt");
Datei.open(QIODevice::ReadOnly | QIODevice::Text);
ui->textEdit->setPlainText(Datei.readAll());
Datei.close();
Wenn ich im QtCreator auf den grünen Pfeil klicke, um zu compilieren und das Programm zu starten, funktioniert alles, wie es soll.
Beende ich allerdings den QtCreator und starte das Programm vom Ordner heraus, dann öffnet es sich zwar, aber wenn ich den "pushButton" klicke passiert einfach garnichts.... :-(

Woran kann das liegen?

Gruß und Danke
Algorithm93

Re: Problem mit QFile

Verfasst: 25. August 2011 17:31
von ScyllaIllciz
Ich schon mal getestet was open() zurück liefert?

Re: Problem mit QFile

Verfasst: 25. August 2011 17:34
von upsala
Wahrscheinlich wird die Datei dann nicht gefunden. Für sowas baut man sich ja auch Debuggingausgaben ein. Aber wahrscheinlich liegt die Datei nicht im selben Verzeichnis wie das Binary. Aber probier es einfach mal mit absoluten Pfaden.

Re: Problem mit QFile

Verfasst: 25. August 2011 17:51
von Algorithm93
Hallo,

Danke für die Antworten,
Es liegt tatsächlich daran, dass die Datei nicht gefunden wird. (open() gibt 0 zurück).
Wenn ich den Pfad in /home/<Benutzername>/C++/test.txt ändere, funktioniert es immer.
Aber warum ist das so? Die Datei ist garantiert im selben Ordner, wie das Programm...

Außerdem finde ich das unschön, denn was ist, wenn ich das Programm samt test.txt verschiebe?

Gibt es eine Möglichkeit den Pfad zum Binary auszulesen, damit ich im Programm den absoluten Pfad "basteln" kann (zur Laufzeit)?

Gruß
Algorithm93

Re: Problem mit QFile

Verfasst: 25. August 2011 18:02
von upsala
Ratespiel: Wo muß die Datei liegen wenn das Binary so aufgerufen wird.

~/binary
/home/user/binary
./binary
/usr/bin/binary

Re: Problem mit QFile

Verfasst: 25. August 2011 18:11
von ScyllaIllciz
Suchst Du das hier?

Re: Problem mit QFile

Verfasst: 26. August 2011 09:31
von Algorithm93
Ja, cool, Problem gelöst!

Ich füge nun einfach QCoreApplication::applicationDirPath() davor.

Danke!

Gruß
Algorithm93