2009-04-11 16 views
10

Duplicar posibles:
Qt equivalent of PathAppend?clase Qt para el manejo de las rutas de archivos

¿Hay una clase que se encarga de las rutas de archivos en Qt? Particularmente estoy buscando algo como .NET's Path.Combine.

Sé que hay uno en el sistema de archivos boost :: pero me preguntaba si hay uno en Qt.

+0

una respuesta en [equivalente Qt de PathAppend?] (Http://stackoverflow.com/questions/13014145/qt-equivalent-of-pathappend) –

Respuesta

14

Hay QDir que pueden ser de ayuda (ver QDir::relativeFilePath y QDir::canonicalPath y otros).

Citando QDir doc:

Un QDir se utiliza para manipular ruta nombres, acceder a información con respecto caminos y archivos, y manipular el sistema de archivos subyacente .

+1

En realidad QDir es la clase relativamente estúpida. Por ejemplo, no permite cd() a dir no existente. –

+3

esto es una broma, ¿verdad? Ningún programa puede codificar en un directorio no existente. QDir y QFile son muy flexibles, lo recomiendo encarecidamente. –

+4

Lo que Sergei quiso decir fue 'QDir :: cd()' que es (debería ser) solo un atajo para 'devolver QDir (this-> filePath (arg)) '. Esto no tiene nada que ver con cambiar el CWD del proceso. Si 'QDir :: cd()' permitiría nombres que no existen, entonces eso lo convertiría en _la_ clase Qt para abstraer una Ruta (actualmente, 'QString' sirve para ese propósito - ¡no!). Al igual que ahora, si Sergei está en lo correcto, no cumple con el potencial, que sin duda es un triste error de diseño. –

3

QDir proporciona acceso a los contenidos del directorio y permite varias manipulaciones (mkdir por ejemplo). Pero desafortunadamente no hay clases para la manipulación de componentes de ruta.

8

Otra clase que podría ser útil es QFileInfo.

De la documentación de Qt:

La clase QFileInfo proporciona información del sistema de archivos independiente.

QFileInfo proporciona información sobre el nombre de un archivo y la posición (ruta) en el sistema archivo, sus derechos de acceso y si se trata de un directorio o simbólica enlace, etc. El tamaño del archivo y la última modificado/leer los tiempos también están disponibles . QFileInfo también se puede usar para obtener información sobre un recurso Qt .

Cuestiones relacionadas