Seite 1 von 1

[gelöst] QString mit "\"?

Verfasst: 12. November 2007 08:11
von bw1faeh0
Guten Morgen!

ich möchte mit

Code: Alles auswählen

QString filename = QFileDialog::getOpenFileName();
den Pfad zu einer Datei in einem QString speichern. Kann ich verhindern, dass die Backslash \ als Escape-Zeichen interpretiert werden? Oder gibt es nur die Möglichkeit doppelte Backslash \\ an diese stellen zu setzen?

Grüße

Christian

Re: QString mit "\"?

Verfasst: 12. November 2007 08:34
von kitov
Du sollst "/" benutzen anstatt backslash .
Qt wandelt automatisch um ; zum anzeigen gibt es

Code: Alles auswählen

QString QDir::toNativeSeparators ( const QString & pathName )   [static] 
sieh auch

Code: Alles auswählen

QDir::separator()

Verfasst: 12. November 2007 08:36
von bw1faeh0
Ahh!
Danke!

Verfasst: 12. November 2007 10:22
von bw1faeh0
Nee, doch nicht. Das mit QDir ist mir grad zu hoch.

Ich dachte, dass ich in einem QDir-Objekt den Pfad und Dateinamen einer Datei speichern kann und ihn mir je nach System korrekt darstellen lassen kann. Aber irgendwie verstehe ich den Ansatz hinter QDir nicht.

Mein Prob war ja eigentlich auch nur, dass in einem QLineEdit ein
C:\neuer Ordner\nn01.exe

als
C: euer Ordner n01.exe
dargestellt wird.... (\n als Escape-Zeichen interpretiert).
Gibts nicht dafür eine Lösung?

Grüße!

Verfasst: 12. November 2007 10:36
von Christian81
bw1faeh0 hat geschrieben: Gibts nicht dafür eine Lösung?
Ja
Erzeuge den String korrekt (also entweder mit \\ oder wie kitov schon sagte mit /) - das ist C-Basic Wissen!
und benutze dann zur Darstellung QDir::toNativeSeparators wie es auch schon kitov gesagt hat.

Verfasst: 12. November 2007 10:51
von bw1faeh0
Mhh...

Da habe ich dann anscheinend was falsch verstenden. Ich dachte, dass der User dann auch unter Windows / schreiben müsse. Aber wenn ich das jetzt richtig verstanden haben, dann muss ich das nur, wenn ich den Pfad im Quelltext hart codiere.

Danke.

Btw:
Kennt qt sowas wie das %SYSTEMDIR% Makro?

Verfasst: 12. November 2007 11:41
von Christian81
qgetenv()

Verfasst: 12. November 2007 12:34
von bw1faeh0
Danke!