Relative Pfade

Alles rund um die Programmierung mit Qt
Antworten
prof_maad
Beiträge: 40
Registriert: 25. September 2005 14:33
Wohnort: /root/

Relative Pfade

Beitrag von prof_maad »

Hallo alle miteinander,

gibt es eine Möglichkeit, einem QFileDialog zu sagen, dass er mir einen relativen Pfad zur Datei zurückliefert.

Danke im Voraus und Ciao,

Prof. MAAD
Alci
Beiträge: 70
Registriert: 24. März 2006 23:34

Beitrag von Alci »

Hi,

ich bin mir jetzt nicht sicher ob es damit geht, aber schau dir mal die Klasse QFileInfo an.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

hi, ich habe gerade ein aehnliches problem. (nicht allzu aehnlich, aber trotzdem)
ich habe eine absolue pfadangabe (als QString), und moechte sie "relativieren" zu einem bestimmten "basisverzeichnis".

mit QFileInfo ist es, sofern ich das richtig verstaneden habe, laut assistant nur andersrum moeglich, sprich, aus einem relativen einen absoluten pfad zu machen.

ist mein vorhaben, aus einem absoluten pfad mit angabe des "basisverzeichnisses" einen relativen zu machen, mit qt-mitteln moeglich?
wenn nicht, kennt jemand eine einfache methode, oder sollte ich mir eine entsprechende funktion selbst schreiben?

zur klarheit:
"/home/user1/bin/executable" => absoluter pfad
"executable" oder "./executable" => relativer pfad, "basisverzeichnis" ist /home/user1/bin"
"../bin/executable" => relativer pfad, bei dem das "basisverzecihnis" ein anderes unterverzeichnis von "/home/user1" ist asl "bin".

danke fuer alle vorschlaege,
mfg,
julian
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

So ohne weiteres geht das nicht - sehe auch keinen Grund dafür das sowas in einer Lib sein müsste.
Bei beiden Pfaden jedes Verzeichnis durchgehen und vergleichen und löschen bis es unterschiedlich ist. Dann anstatt löschen ein '../' für jedes noch fehlende Verzeichnis einfügen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Sucht ihr sowas?

Code: Alles auswählen

QString QDir::relativeFilePath ( const QString & fileName ) const


Returns the path to fileName relative to the directory.
 QDir dir("/home/bob");
 QString s;

 s = dir.relativePath("images/file.jpg");     // s is "images/file.jpg"
 s = dir.relativePath("/home/mary/file.txt"); // s is "../mary/file.txt"
See also absoluteFilePath(), filePath(), and canonicalPath().

Ciao,
Sephral
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

autsch ...
ja, genau sowas habe ich gesucht. hatte mir auch schon eine eigene funktion dafuer geschrieben, aber ich denke ich sollte lieber diese methode verwenden.

vielen dank fuer den hinweis.
sorry fuer die ueberfluessige frage ... :oops:

mfg,
julian
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

-=Freaky=- hat geschrieben:autsch ...
Hehe, Qt überrascht mich auch immer wieder :lol:

@Christian81: Nicht wahr? :-)


Ciao,
Sephral
Antworten