Seite 1 von 1

Dateipfade über QLineEdit öffnen

Verfasst: 13. August 2014 14:08
von Akitochan
Hallo , ich möchte das mein Programm eine .txt datei öffnet.
Als standart soll es :

Code: Alles auswählen

QFile fileMy("E:\\test.txt");
sein. Aber wenn etwas in dem dazugehörigem textfeld steht, soll der Pfad genommen werden.
Das habe ich so realisiert :

Code: Alles auswählen

QFile fileMy;
	if ( txtPfad->text() > 0 ) 
	{
		QString str;
		str = txtPfad->text();
		QFile fileMy (""+str);
	} 
	else 
	{
		QFile fileMy("E:\\test.txt");
	}
Allerdings meint das Programm wenn ich über das Textfeld einen Pfad angebe : "No file name specified"
selbst wenn ich meinen Standartpfad kopiere und in das textfeld reinkopiere . ( Standartpfad = zum testen des einlesens habe ich nur mit QFile fileMy("E:\\test.txt") gemacht, darum ist E:\\test.txt mein Standartpfad )

Wieso funktioniert das jedoch nicht ? in str müsste doch dann auch E:\\test.txt drin stehen , nicht ?

Re: Dateipfade über QLineEdit öffnen

Verfasst: 13. August 2014 20:53
von Christian81
Wenn der Code den Du da gepostet hast wirklich so bei Dir steht empfehle ich dir erst einmal ein Buch mit C++ Grundlagen - vor allem der Teil mit der Lebenszeit von Variablen... wie lange wird wohl hier fileMy leben?

Code: Alles auswählen

{
  QFile fileMy("E:\\test.txt");
}

Re: Dateipfade über QLineEdit öffnen

Verfasst: 14. August 2014 08:21
von Akitochan
Entschuldige, aber ich habe noch nicht herausgefunden wie ich ich sonst im nachhinein den Pfad angebe.
mittels fileMy = ( "Pfad"); funktionert das nicht.
Ich weiß es somit nur solange lebt, bis die Klammer zu geht.
Dann hilf mir doch bitte unter die Arme :/

Re: Dateipfade über QLineEdit öffnen

Verfasst: 14. August 2014 10:43
von bmann
Akitochan hat geschrieben:

Code: Alles auswählen

if ( txtPfad->text() > 0 ) 
Das funktioniert bei dir? Was tut das denn? Ich würde hier eher

Code: Alles auswählen

if (txtPfad->text().length() > 0 ) 
oder

Code: Alles auswählen

if (!txtPfad->text().isEmpty()) 
erwarten.

Weiterhin:
Akitochan hat geschrieben:

Code: Alles auswählen

	{
[...]
		QFile fileMy (""+str);
	} 
	else 
	{
		QFile fileMy("E:\\test.txt");
	}
[/code]
soll wohl jeweils

Code: Alles auswählen

fileMy = QFile(path);
sein.

Re: Dateipfade über QLineEdit öffnen

Verfasst: 15. August 2014 06:54
von Christian81
Da QFile von QObject abgeleitet ist und ein QObject nicht kopierbar ist, wird wohl auch

Code: Alles auswählen

fileMy = QFile(path);
nicht funktionieren. QFile hat aber genug Funktionen um den Dateinamen zu setzen -> Doku: http://qt-project.org/doc/qt-4.8/qfile.html

Und ja, hier fehlt definitiv ein C++ - Grundlagenbuch...

Re: Dateipfade über QLineEdit öffnen

Verfasst: 15. August 2014 08:12
von bmann
Christian81 hat geschrieben:[...] nicht funktionieren.
Meep. Du hast recht, da hab ich wohl nicht aufgepasst, sorry.