Dateipfade über QLineEdit öffnen

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Akitochan
Beiträge: 5
Registriert: 5. August 2014 11:17

Dateipfade über QLineEdit öffnen

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

Re: Dateipfade über QLineEdit öffnen

Beitrag 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");
}
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Akitochan
Beiträge: 5
Registriert: 5. August 2014 11:17

Re: Dateipfade über QLineEdit öffnen

Beitrag 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 :/
bmann
Beiträge: 14
Registriert: 22. Juni 2006 22:27
Wohnort: Dortmund

Re: Dateipfade über QLineEdit öffnen

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

Re: Dateipfade über QLineEdit öffnen

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

'Funktioniert nicht' ist keine Fehlerbeschreibung
bmann
Beiträge: 14
Registriert: 22. Juni 2006 22:27
Wohnort: Dortmund

Re: Dateipfade über QLineEdit öffnen

Beitrag von bmann »

Christian81 hat geschrieben:[...] nicht funktionieren.
Meep. Du hast recht, da hab ich wohl nicht aufgepasst, sorry.
Antworten