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
Relative Pfade
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
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
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:
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.
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
'Funktioniert nicht' ist keine Fehlerbeschreibung
Sucht ihr sowas?
Ciao,
Sephral
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().
Sephral
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL