QFileInfo Class
La clase QFileInfo proporciona una API independiente del sistema operativo para recuperar información sobre las entradas del sistema de ficheros. Más...
| Cabecera: | #include <QFileInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QFileInfo es parte de Entrada/Salida y Redes y Clases Implícitamente Compartidas.
Esta clase es igual-comparable.
Nota: Todas las funciones de esta clase son reentrantes.
Funciones públicas
| QFileInfo() | |
| QFileInfo(const QFileDevice &file) | |
| QFileInfo(const QString &path) | |
(since 6.0) | QFileInfo(const std::filesystem::path &file) |
| QFileInfo(const QDir &dir, const QString &path) | |
(since 6.0) | QFileInfo(const QDir &dir, const std::filesystem::path &path) |
| QFileInfo(const QFileInfo &fileinfo) | |
| ~QFileInfo() | |
| QDir | absoluteDir() const |
| QString | absoluteFilePath() const |
| QString | absolutePath() const |
| QString | baseName() const |
| QDateTime | birthTime() const |
(since 6.6) QDateTime | birthTime(const QTimeZone &tz) const |
| QString | bundleName() const |
| bool | caching() const |
| QString | canonicalFilePath() const |
| QString | canonicalPath() const |
| QString | completeBaseName() const |
| QString | completeSuffix() const |
| QDir | dir() const |
| bool | exists() const |
| QString | fileName() const |
| QString | filePath() const |
| QDateTime | fileTime(QFileDevice::FileTime time) const |
(since 6.6) QDateTime | fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const |
(since 6.0) std::filesystem::path | filesystemAbsoluteFilePath() const |
(since 6.0) std::filesystem::path | filesystemAbsolutePath() const |
(since 6.0) std::filesystem::path | filesystemCanonicalFilePath() const |
(since 6.0) std::filesystem::path | filesystemCanonicalPath() const |
(since 6.0) std::filesystem::path | filesystemFilePath() const |
(since 6.2) std::filesystem::path | filesystemJunctionTarget() const |
(since 6.0) std::filesystem::path | filesystemPath() const |
(since 6.6) std::filesystem::path | filesystemReadSymLink() const |
(since 6.0) std::filesystem::path | filesystemSymLinkTarget() const |
| QString | group() const |
| uint | groupId() const |
| bool | isAbsolute() const |
(since 6.4) bool | isAlias() const |
| bool | isBundle() const |
| bool | isDir() const |
| bool | isExecutable() const |
| bool | isFile() const |
| bool | isHidden() const |
| bool | isJunction() const |
| bool | isNativePath() const |
(since 6.10) bool | isOther() const |
| bool | isReadable() const |
| bool | isRelative() const |
| bool | isRoot() const |
| bool | isShortcut() const |
| bool | isSymLink() const |
| bool | isSymbolicLink() const |
| bool | isWritable() const |
(since 6.2) QString | junctionTarget() const |
| QDateTime | lastModified() const |
(since 6.6) QDateTime | lastModified(const QTimeZone &tz) const |
| QDateTime | lastRead() const |
(since 6.6) QDateTime | lastRead(const QTimeZone &tz) const |
| bool | makeAbsolute() |
| QDateTime | metadataChangeTime() const |
(since 6.6) QDateTime | metadataChangeTime(const QTimeZone &tz) const |
| QString | owner() const |
| uint | ownerId() const |
| QString | path() const |
| bool | permission(QFileDevice::Permissions permissions) const |
| QFileDevice::Permissions | permissions() const |
(since 6.6) QString | readSymLink() const |
| void | refresh() |
| void | setCaching(bool enable) |
| void | setFile(const QString &path) |
(since 6.0) void | setFile(const std::filesystem::path &path) |
| void | setFile(const QFileDevice &file) |
| void | setFile(const QDir &dir, const QString &path) |
| qint64 | size() const |
(since 6.0) void | stat() |
| QString | suffix() const |
| void | swap(QFileInfo &other) |
| QString | symLinkTarget() const |
| QFileInfo & | operator=(QFileInfo &&other) |
| QFileInfo & | operator=(const QFileInfo &fileinfo) |
Miembros públicos estáticos
| bool | exists(const QString &path) |
Relacionados No Miembros
| QFileInfoList | |
| bool | operator!=(const QFileInfo &lhs, const QFileInfo &rhs) |
| bool | operator==(const QFileInfo &lhs, const QFileInfo &rhs) |
Macros
(since 6.0) | QT_IMPLICIT_QFILEINFO_CONSTRUCTION |
Descripción detallada
QFileInfo proporciona información sobre una entrada del sistema de ficheros, como su nombre, ruta, derechos de acceso y si es un fichero normal, directorio o enlace simbólico. También están disponibles el tamaño de la entrada y la hora de la última modificación/lectura. QFileInfo también puede utilizarse para obtener información sobre un recurso Qt.
Un QFileInfo puede apuntar a una entrada del sistema de archivos con una ruta absoluta o relativa:
- En Unix, las rutas absolutas comienzan con el separador de directorios
'/'. En Windows, las rutas absolutas comienzan con una especificación de unidad (por ejemplo,D:/). - Las rutas relativas comienzan con un nombre de directorio o un nombre de archivo normal y especifican la ruta de una entrada del sistema de archivos relativa al directorio de trabajo actual.
Un ejemplo de ruta absoluta es la cadena "/tmp/quartz". Una ruta relativa puede ser "src/fatlib". Puedes utilizar la función isRelative() para comprobar si un QFileInfo está utilizando una ruta relativa o absoluta. Puedes llamar a la función makeAbsolute() para convertir la ruta de un QFileInfo relativo a una ruta absoluta.
Nota: Las rutas que comienzan con dos puntos (:) siempre se consideran absolutas, ya que denotan un QResource.
La ruta de entrada al sistema de ficheros sobre la que trabaja el QFileInfo se establece en el constructor o posteriormente con setFile(). Utilice exists() para ver si la entrada existe realmente y size() para obtener su tamaño.
El tipo de entrada del sistema de archivos se obtiene con isFile(), isDir(), y isSymLink(). La función symLinkTarget() proporciona la ruta absoluta del destino al que apunta el enlace simbólico.
Los elementos de la ruta de la entrada del sistema de archivos pueden extraerse con path() y fileName(). Las partes de fileName() pueden extraerse con baseName(), suffix() o completeSuffix(). Los objetos QFileInfo que se refieren a directorios creados por clases Qt no tendrán un separador de directorio al final '/'. Si desea utilizar separadores en sus propios objetos de información de archivos, sólo tiene que añadir uno a la ruta de la entrada dada a los constructores o setFile().
La información relacionada con la fecha y la hora se devuelve mediante birthTime(), fileTime(), lastModified(), lastRead() y metadataChangeTime(). La información sobre permisos de acceso puede obtenerse con isReadable(), isWritable() y isExecutable(). La información sobre la propiedad puede obtenerse con owner(), ownerId(), group() y groupId(). También puede examinar los permisos y la propiedad en una sola sentencia utilizando la función permission().
Enlaces simbólicos y accesos directos
En Unix (incluidos macOS e iOS), las funciones de obtención de propiedades de esta clase devuelven propiedades como la hora y el tamaño del destino, no del enlace simbólico, ya que Unix gestiona los enlaces simbólicos de forma transparente. Abrir un enlace simbólico utilizando QFile abre efectivamente el objetivo del enlace. Por ejemplo:
#ifdef Q_OS_UNIX QFileInfo info1("/home/bob/bin/untabify"); info1.isSymLink(); // returns true info1.absoluteFilePath(); // returns "/home/bob/bin/untabify" info1.size(); // returns 56201 info1.symLinkTarget(); // returns "/opt/pretty++/bin/untabify" QFileInfo info2(info1.symLinkTarget()); info2.isSymLink(); // returns false info2.absoluteFilePath(); // returns "/opt/pretty++/bin/untabify" info2.size(); // returns 56201 #endif
En Windows, los accesos directos (archivos.lnk ) se tratan actualmente como enlaces simbólicos. Al igual que en los sistemas Unix, los obtenedores de propiedades devuelven el tamaño del destino, no del propio archivo .lnk. Este comportamiento es obsoleto y probablemente será eliminado en una futura versión de Qt, después de lo cual los archivos .lnk serán tratados como archivos normales.
#ifdef Q_OS_WIN QFileInfo info1("C:\\Users\\Bob\\untabify.lnk"); info1.isSymLink(); // returns true info1.absoluteFilePath(); // returns "C:/Users/Bob/untabify.lnk" info1.size(); // returns 63942 info1.symLinkTarget(); // returns "C:/Pretty++/untabify" QFileInfo info2(info1.symLinkTarget()); info2.isSymLink(); // returns false info2.absoluteFilePath(); // returns "C:/Pretty++/untabify" info2.size(); // returns 63942 #endif
Permisos NTFS
En los sistemas de archivos NTFS, la comprobación de la propiedad y los permisos está desactivada por defecto por razones de rendimiento. Para activarla, incluya la siguiente línea:
extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
La comprobación de permisos se activa y desactiva incrementando y disminuyendo qt_ntfs_permission_lookup en 1.
qt_ntfs_permission_lookup++; // turn checking on qt_ntfs_permission_lookup--; // turn it off again
Nota: Dado que se trata de una variable global no atómica, sólo es seguro incrementar o decrementar qt_ntfs_permission_lookup antes de que cualquier hilo distinto del hilo principal se haya iniciado o después de que cada hilo distinto del hilo principal haya finalizado.
Nota: A partir de Qt 6.6 la variable qt_ntfs_permission_lookup está obsoleta. Por favor, utiliza las siguientes alternativas.
La forma segura y fácil de gestionar las comprobaciones de permisos es usar la clase RAII QNtfsPermissionCheckGuard.
void complexFunction() { QNtfsPermissionCheckGuard permissionGuard; // check is enabled // do complex things here that need permission check enabled } // as the guard goes out of scope the check is disabled
Si necesita un control más fino, es posible gestionar el permiso con las siguientes funciones en su lugar:
qAreNtfsPermissionChecksEnabled(); // comprobar estadoqEnableNtfsPermissionChecks(); // turn checking on qDisableNtfsPermissionChecks(); // turn it off again
Consideraciones de rendimiento
Algunas de las funciones de QFileInfo tienen que consultar el sistema de ficheros, pero por razones de rendimiento, algunas funciones sólo operan sobre la cadena de ruta. Por ejemplo: Para devolver la ruta absoluta de una entrada relativa, absolutePath() tiene que consultar el sistema de ficheros. La función path(), sin embargo, puede trabajar directamente sobre el nombre del fichero, por lo que es más rápida.
QFileInfo también almacena en caché información sobre la entrada del sistema de ficheros a la que hace referencia. Dado que el sistema de ficheros puede ser modificado por otros usuarios o programas, o incluso por otras partes del mismo programa, existe una función que refresca la información almacenada en QFileInfo, a saber, refresh(). Para desactivar el almacenamiento en caché de un QFileInfo (es decir, forzarlo a consultar el sistema de ficheros subyacente cada vez que le pidas información), llama a setCaching(false).
La obtención de información del sistema de ficheros se hace normalmente llamando a funciones del sistema (posiblemente) caras, por lo que QFileInfo (dependiendo de la implementación) podría no obtener toda la información del sistema de ficheros en la construcción. Para asegurarte de que toda la información es leída del sistema de ficheros inmediatamente, usa la función miembro stat().
birthTime(), fileTime(), lastModified(), lastRead(), y metadataChangeTime() devuelven por defecto las horas en hora local. Dado que la API nativa del sistema de archivos suele utilizar UTC, esto requiere una conversión. Si no necesitas la hora local, puedes evitarlo solicitando la hora en QTimeZone::UTC directamente.
Problemas específicos de la plataforma
En Android, se aplican algunas limitaciones al tratar con URIs de contenido:
- Los permisos de acceso pueden ser necesarios preguntando al usuario a través de QFileDialog que implementa el selector de archivos nativo de Android.
- Intenta seguir las directrices de almacenamiento Scoped, como utilizar directorios específicos de la aplicación en lugar de otros directorios externos públicos. Para más información, consulte también las mejores prácticas de almacenamiento.
- Debido al diseño de las API de Qt (por ejemplo, QFile), no es posible integrar completamente estas últimas con las API MediaStore de Android.
Documentación de funciones miembro
QFileInfo::QFileInfo()
Construye un objeto QFileInfo vacío que no hace referencia a ninguna entrada del sistema de ficheros.
Ver también setFile().
[explicit] QFileInfo::QFileInfo(const QFileDevice &file)
Construye un nuevo QFileInfo que da información sobre el fichero file.
Si file tiene una ruta relativa, el QFileInfo también tendrá una ruta relativa.
Vea tambien isRelative().
[explicit] QFileInfo::QFileInfo(const QString &path)
Construye un QFileInfo que da información sobre una entrada del sistema de ficheros localizada en path que puede ser absoluta o relativa.
Si path es relativo, el QFileInfo también tendrá una ruta relativa.
Ver también setFile(), isRelative(), QDir::setCurrent(), y QDir::isRelativePath().
[since 6.0] QFileInfo::QFileInfo(const std::filesystem::path &file)
Construye un nuevo QFileInfo que da información sobre el file dado.
Esta función fue introducida en Qt 6.0.
Ver también setFile(), isRelative(), QDir::setCurrent(), y QDir::isRelativePath().
[explicit] QFileInfo::QFileInfo(const QDir &dir, const QString &path)
Construye un nuevo QFileInfo que proporciona información sobre la entrada del sistema de ficheros path relativa al directorio dir.
Si dir tiene una ruta relativa, el QFileInfo también tendrá una ruta relativa.
Si path es absoluto, entonces el directorio especificado por dir será ignorado.
Véase también isRelative().
[since 6.0] QFileInfo::QFileInfo(const QDir &dir, const std::filesystem::path &path)
Construye un nuevo QFileInfo que da información sobre la entrada del sistema de ficheros en path que es relativa al directorio dir.
Si dir tiene una ruta relativa, el QFileInfo también tendrá una ruta relativa.
Si path es absoluto, entonces el directorio especificado por dir será ignorado.
Esta función se introdujo en Qt 6.0.
QFileInfo::QFileInfo(const QFileInfo &fileinfo)
Construye un nuevo QFileInfo que es una copia del dado fileinfo.
[noexcept] QFileInfo::~QFileInfo()
Destruye la QFileInfo y libera sus recursos.
QDir QFileInfo::absoluteDir() const
Devuelve un objeto QDir que representa la ruta absoluta del directorio padre de la entrada del sistema de archivos a la que hace referencia este QFileInfo.
// Dado un directorio de trabajo actual de "/home/usuario/Documentos/memos/"QFileInfo info1(u"relativeFile"_s);qDebug() << info1.absolutePath(); // "/home/user/Documents/memos/" qDebug() << info1.baseName(); // "relativeFile" qDebug() << info1.absoluteDir(); // QDir(u"/home/user/Documents/memos"_s) qDebug() << info1.absoluteDir().path(); // "/home/user/Documents/memos" // Un QFileInfo en un dirQFileInfo info2(u"/home/usuario/Documentos/memos"_s);qDebug() << info2.absolutePath(); // "/home/user/Documents" qDebug() << info2.baseName(); // "memos" qDebug() << info2.absoluteDir(); // QDir(u"/home/user/Documents"_s) qDebug() << info2.absoluteDir().path(); // "/home/user/Documents"
Véase también dir(), filePath(), fileName() y isRelative().
QString QFileInfo::absoluteFilePath() const
Devuelve la ruta completa absoluta a la entrada del sistema de archivos a la que hace referencia este QFileInfo, incluido el nombre de la entrada.
En Unix, las rutas absolutas comienzan con el separador de directorios '/'. En Windows, las rutas absolutas comienzan con una especificación de unidad (por ejemplo, D:/).
En Windows, las rutas de los recursos compartidos de red que no están asignados a una letra de unidad comienzan por //sharename/.
QFileInfo pondrá en mayúsculas las letras de las unidades. Tenga en cuenta que QDir no hace esto. El fragmento de código siguiente lo muestra.
Esta función devuelve lo mismo que filePath(), a menos que isRelative() sea verdadero. A diferencia de canonicalFilePath(), los enlaces simbólicos o los elementos "." o ".." redundantes no se eliminan necesariamente.
Atención: Si filePath() está vacío, el comportamiento de esta función es indefinido.
Véase también filePath(), canonicalFilePath() y isRelative().
QString QFileInfo::absolutePath() const
Devuelve la ruta absoluta de la entrada del sistema de archivos a la que hace referencia este QFileInfo, excluyendo el nombre de la entrada.
En Unix, las rutas absolutas comienzan con el separador de directorios '/'. En Windows, las rutas absolutas comienzan con una especificación de unidad (por ejemplo, D:/).
En Windows, las rutas de los recursos compartidos de red que no están asignados a una letra de unidad comienzan por //sharename/.
A diferencia de canonicalPath(), los enlaces simbólicos o los elementos "." o ".." redundantes no se eliminan necesariamente.
Advertencia: Si filePath() está vacío, el comportamiento de esta función es indefinido.
Véase también absoluteFilePath(), path(), canonicalPath(), fileName() y isRelative().
QString QFileInfo::baseName() const
Devuelve el nombre base del archivo sin la ruta.
El nombre base está formado por todos los caracteres del archivo hasta (pero sin incluir) el primer carácter '.'.
Ejemplo:
El nombre base de un archivo se calcula por igual en todas las plataformas, independientemente de las convenciones de nomenclatura de archivos (por ejemplo, ".bashrc" en Unix tiene un nombre base vacío, y el sufijo es "bashrc").
Véase también fileName(), suffix(), completeSuffix() y completeBaseName().
QDateTime QFileInfo::birthTime() const
Devuelve la fecha y hora de creación (nacimiento) del archivo, en hora local.
Si la hora de nacimiento del archivo no está disponible, esta función devuelve un valor no válido QDateTime.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función sobrecarga QFileInfo::birthTime(const QTimeZone &tz), y devuelve lo mismo que birthTime(QTimeZone::LocalTime).
Ver también lastModified(), lastRead(), metadataChangeTime(), y fileTime().
[since 6.6] QDateTime QFileInfo::birthTime(const QTimeZone &tz) const
Devuelve la fecha y hora en que se creó (nació) el archivo.
La hora devuelta está en la zona horaria especificada por tz. Por ejemplo, puede utilizar QTimeZone::LocalTime o QTimeZone::UTC para obtener la hora en la zona horaria Local o UTC, respectivamente. Dado que la API nativa del sistema de archivos suele utilizar UTC, el uso de QTimeZone::UTC suele ser más rápido, ya que no requiere ninguna conversión.
Si la hora de nacimiento del archivo no está disponible, esta función devuelve un QDateTime inválido.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función se introdujo en Qt 6.6.
Ver también lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &), y fileTime(QFileDevice::FileTime, const QTimeZone &).
QString QFileInfo::bundleName() const
Devuelve el nombre del paquete.
En macOS e iOS devuelve el nombre localizado adecuado para un paquete si la ruta isBundle(). En el resto de plataformas se devuelve un QString vacío.
Ejemplo:
Véase también isBundle(), filePath(), baseName() y suffix().
bool QFileInfo::caching() const
Devuelve true si el almacenamiento en caché está activado; en caso contrario, devuelve false.
Véase también setCaching() y refresh().
QString QFileInfo::canonicalFilePath() const
Devuelve la ruta canónica de la entrada del sistema de archivos, incluido el nombre de la entrada, es decir, una ruta absoluta sin enlaces simbólicos ni elementos redundantes de '.' o '..'.
Si la entrada no existe, canonicalFilePath() devuelve una cadena vacía.
Véase también filePath(), absoluteFilePath() y dir().
QString QFileInfo::canonicalPath() const
Devuelve la ruta canónica de la entrada del sistema de archivos (excluyendo el nombre de la entrada), es decir, una ruta absoluta sin enlaces simbólicos ni elementos "." o ".." redundantes.
Si la entrada no existe, este método devuelve una cadena vacía.
Véase también path() y absolutePath().
QString QFileInfo::completeBaseName() const
Devuelve el nombre base completo del archivo sin la ruta.
El nombre base completo consta de todos los caracteres del archivo hasta (pero sin incluir) el último carácter '.'.
Ejemplo:
Véase también fileName(), suffix(), completeSuffix() y baseName().
QString QFileInfo::completeSuffix() const
Devuelve el sufijo completo (extensión) del archivo.
El sufijo completo consiste en todos los caracteres del archivo después (pero sin incluir) el primer '.'.
Ejemplo:
Véase también fileName(), suffix(), baseName() y completeBaseName().
QDir QFileInfo::dir() const
Devuelve un objeto QDir que representa la ruta del directorio padre de la entrada del sistema de ficheros a la que hace referencia este QFileInfo.
Nota: El QDir devuelto siempre corresponde al directorio padre del objeto, incluso si el QFileInfo representa un directorio.
Para cada uno de los siguientes casos, dir() devuelve el QDir "~/examples/191697" .
QFileInfo fileInfo1("~/examples/191697/."); QFileInfo fileInfo2("~/examples/191697/.."); QFileInfo fileInfo3("~/examples/191697/main.cpp");
Para cada una de las siguientes, dir() devuelve el QDir "." .
Véase también absolutePath(), filePath(), fileName(), isRelative() y absoluteDir().
bool QFileInfo::exists() const
Devuelve true si la entrada del sistema de ficheros a la que hace referencia este QFileInfo existe; en caso contrario devuelve false.
Nota: Si la entrada es un enlace simbólico que apunta a un destino inexistente, este método devuelve false.
[static] bool QFileInfo::exists(const QString &path)
Devuelve true si la entrada del sistema de ficheros path existe; en caso contrario devuelve false.
Nota: Si path es un enlace simbólico que apunta a un destino inexistente, este método devuelve false.
Nota: El uso de esta función es más rápido que el uso de QFileInfo(path).exists() para el acceso al sistema de archivos.
QString QFileInfo::fileName() const
Devuelve el nombre de la entrada del sistema de archivos a la que se refiere este QFileInfo, excluyendo la ruta.
Ejemplo:
Nota: Si a este QFileInfo se le da una ruta que termina con un separador de directorio '/', la parte del nombre de la entrada se considera vacía.
Véase también isRelative(), filePath(), baseName() y suffix().
QString QFileInfo::filePath() const
Devuelve la ruta de la entrada del sistema de archivos a la que se refiere este QFileInfo; la ruta puede ser absoluta o relativa.
Véase también absoluteFilePath(), canonicalFilePath() y isRelative().
QDateTime QFileInfo::fileTime(QFileDevice::FileTime time) const
Devuelve la hora del archivo especificada por time.
Si no se puede determinar la hora, se devuelve una fecha-hora no válida.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función sobrecarga QFileInfo::fileTime(QFileDevice::FileTime, const QTimeZone &), y devuelve lo mismo que fileTime(time, QTimeZone::LocalTime).
Ver también birthTime(), lastModified(), lastRead(), y metadataChangeTime().
[since 6.6] QDateTime QFileInfo::fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const
Devuelve la hora del archivo especificada por time.
La hora devuelta está en la zona horaria especificada por tz. Por ejemplo, puede utilizar QTimeZone::LocalTime o QTimeZone::UTC para obtener la hora en la zona horaria Local o UTC, respectivamente. Dado que la API nativa del sistema de archivos suele utilizar UTC, el uso de QTimeZone::UTC suele ser más rápido, ya que no requiere ninguna conversión.
Si no se puede determinar la hora, se devuelve una fecha/hora no válida.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función se introdujo en Qt 6.6.
Ver también birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &), y QDateTime::isValid().
[since 6.0] std::filesystem::path QFileInfo::filesystemAbsoluteFilePath() const
Devuelve absoluteFilePath() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también absoluteFilePath().
[since 6.0] std::filesystem::path QFileInfo::filesystemAbsolutePath() const
Devuelve absolutePath() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también absolutePath().
[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalFilePath() const
Devuelve canonicalFilePath() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también canonicalFilePath().
[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalPath() const
Devuelve canonicalPath() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también canonicalPath().
[since 6.0] std::filesystem::path QFileInfo::filesystemFilePath() const
Devuelve filePath() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también filePath().
[since 6.2] std::filesystem::path QFileInfo::filesystemJunctionTarget() const
Devuelve junctionTarget() como std::filesystem::path.
Esta función se introdujo en Qt 6.2.
Véase también junctionTarget().
[since 6.0] std::filesystem::path QFileInfo::filesystemPath() const
Devuelve path() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también path().
[since 6.6] std::filesystem::path QFileInfo::filesystemReadSymLink() const
Devuelve readSymLink() como std::filesystem::path.
Esta función se introdujo en Qt 6.6.
Véase también readSymLink().
[since 6.0] std::filesystem::path QFileInfo::filesystemSymLinkTarget() const
Devuelve symLinkTarget() como std::filesystem::path.
Esta función se introdujo en Qt 6.0.
Véase también symLinkTarget().
QString QFileInfo::group() const
Devuelve el grupo del fichero. En Windows, en sistemas donde los archivos no tienen grupos, o si se produce un error, se devuelve una cadena vacía.
Esta función puede consumir mucho tiempo en Unix (del orden de milisegundos).
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también groupId(), owner(), y ownerId().
uint QFileInfo::groupId() const
Devuelve el id del grupo al que pertenece el fichero.
En Windows y en sistemas donde los archivos no tienen grupos, esta función siempre devuelve (uint) -2.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también group(), owner(), y ownerId().
bool QFileInfo::isAbsolute() const
Devuelve true si la ruta de la entrada del sistema de archivos es absoluta; en caso contrario, devuelve false (es decir, la ruta es relativa).
Nota: Las rutas que comienzan con dos puntos (:) siempre se consideran absolutas, ya que denotan un QResource.
Véase también isRelative().
[since 6.4] bool QFileInfo::isAlias() const
Devuelve true si este objeto apunta a un alias; en caso contrario devuelve false.
Los alias sólo existen en macOS. Se tratan como archivos normales, por lo que al abrir un alias se abrirá el propio archivo. Para abrir el archivo o directorio al que hace referencia un alias, utilice symLinkTarget().
Nota: Incluso si un alias apunta a un archivo no existente, isAlias() devuelve true.
Esta función se introdujo en Qt 6.4.
Véase también isFile(), isDir(), isSymLink(), y symLinkTarget().
bool QFileInfo::isBundle() const
Devuelve true si este objeto apunta a un bundle o a un enlace simbólico a un bundle en macOS e iOS; en caso contrario devuelve false.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también isDir(), isSymLink() y isFile().
bool QFileInfo::isDir() const
Devuelve true si este objeto apunta a un directorio o a un enlace simbólico a un directorio. Devuelve false si el objeto apunta a algo que no es un directorio (como un archivo) o que no existe.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también isFile(), isSymLink() y isBundle().
bool QFileInfo::isExecutable() const
Devuelve true si la entrada del sistema de ficheros a la que se refiere QFileInfo es ejecutable; en caso contrario devuelve false.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también isReadable(), isWritable(), y permission().
bool QFileInfo::isFile() const
Devuelve true si este objeto apunta a un archivo o a un enlace simbólico a un archivo. Devuelve false si el objeto apunta a algo que no es un archivo (como un directorio) o que no existe.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también isDir(), isSymLink() y isBundle().
bool QFileInfo::isHidden() const
Devuelve true si la entrada del sistema de ficheros a la que se refiere QFileInfo está `oculta'; en caso contrario devuelve false.
Nota: Esta función devuelve true para las entradas especiales "." y ".." en Unix, aunque QDir::entryList las trata como se muestra. Y tenga en cuenta que, puesto que esta función inspecciona el nombre del fichero, en Unix inspeccionará el nombre del enlace simbólico, si este fichero es un enlace simbólico, no el nombre del destino.
En Windows, esta función devuelve true si el archivo de destino está oculto (no el enlace simbólico).
bool QFileInfo::isJunction() const
Devuelve true si el objeto apunta a una unión; en caso contrario devuelve false.
Las uniones sólo existen en el sistema de ficheros NTFS de Windows, y normalmente se crean con el comando mklink. Pueden considerarse como enlaces simbólicos para directorios, y sólo pueden crearse para rutas absolutas en el volumen local.
bool QFileInfo::isNativePath() const
Devuelve true si la ruta del archivo se puede utilizar directamente con las API nativas. Devuelve false si el archivo está soportado por un sistema de archivos virtual dentro de Qt, como el Qt Resource System.
Nota: Las rutas nativas pueden requerir la conversión de los separadores de ruta y la codificación de caracteres, dependiendo de la plataforma y los requisitos de entrada de la API nativa.
Véase también QDir::toNativeSeparators(), QFile::encodeName(), filePath(), absoluteFilePath(), y canonicalFilePath().
[since 6.10] bool QFileInfo::isOther() const
Devuelve true si este QFileInfo se refiere a una entrada del sistema de archivos que no es un directorio, archivo regular o enlace simbólico. En caso contrario, devuelve false.
Si este QFileInfo se refiere a una entrada inexistente, este método devuelve false.
Si la entrada es un enlace simbólico colgante (el destino no existe), este método devuelve false. Para un enlace simbólico no colgante, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
En Unix, una entrada especial (otra) del sistema de ficheros es un FIFO, un socket, un dispositivo de caracteres o un dispositivo de bloques. Para más detalles, consulte la página mknod página del manual.
En Windows (por razones históricas, véase Symbolic Links and Shortcuts) este método devuelve true para archivos .lnk.
Esta función se introdujo en Qt 6.10.
Véase también isDir(), isFile(), isSymLink(), y QDirListing::IteratorFlag::ExcludeOther.
bool QFileInfo::isReadable() const
Devuelve true si el usuario puede leer la entrada del sistema de archivos a la que se refiere este QFileInfo; en caso contrario devuelve false.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Nota: Si no se ha activado la comprobación NTFS permissions, el resultado en Windows reflejará simplemente si la entrada existe.
Véase también isWritable(), isExecutable(), y permission().
bool QFileInfo::isRelative() const
Devuelve true si la ruta de la entrada del sistema de archivos es relativa; en caso contrario, devuelve false (es decir, la ruta es absoluta).
En Unix, las rutas absolutas comienzan con el separador de directorios '/'. En Windows, las rutas absolutas comienzan con una especificación de unidad (por ejemplo, D:/).
Nota: Las rutas que comienzan con dos puntos (:) siempre se consideran absolutas, ya que denotan un QResource.
Véase también isAbsolute().
bool QFileInfo::isRoot() const
Devuelve true si el objeto apunta a un directorio o a un enlace simbólico a un directorio, y ese directorio es el directorio raíz; en caso contrario devuelve false.
bool QFileInfo::isShortcut() const
Devuelve true si este objeto apunta a un acceso directo; en caso contrario devuelve false.
Los accesos directos sólo existen en Windows y suelen ser archivos .lnk. Por ejemplo, se devolverá true para los accesos directos (archivos*.lnk ) en Windows, pero se devolverá false en Unix (incluyendo macOS e iOS).
Los archivos de acceso directo (.lnk) se tratan como archivos normales. Al abrirlos, se abrirá el propio archivo .lnk. Para abrir el archivo al que hace referencia un acceso directo, debe utilizar symLinkTarget() en un acceso directo.
Nota: Incluso si un acceso directo (broken shortcut) apunta a un archivo no existente, isShortcut() devuelve true.
Véase también isFile(), isDir(), isSymbolicLink() y symLinkTarget().
bool QFileInfo::isSymLink() const
Devuelve true si este objeto apunta a un enlace simbólico, acceso directo o alias; en caso contrario devuelve false.
Los enlaces simbólicos existen en Unix (incluidos macOS e iOS) y Windows y suelen crearse mediante los comandos ln -s o mklink, respectivamente. Al abrir un enlace simbólico, se abre link's target.
Además, se devolverá true para los accesos directos (archivos*.lnk ) en Windows, y alias en macOS. Este comportamiento es obsoleto y probablemente cambiará en una futura versión de Qt. Al abrir un acceso directo o alias se abrirá el propio archivo .lnk o alias.
Ejemplo:
QFileInfo info(fileName); if (info.isSymLink()) fileName = info.symLinkTarget();
Nota: exists() devuelve true si el enlace simbólico apunta a un objetivo existente, en caso contrario devuelve false.
Véase también isFile(), isDir(), y symLinkTarget().
bool QFileInfo::isSymbolicLink() const
Devuelve true si este objeto apunta a un enlace simbólico; en caso contrario devuelve false.
Los enlaces simbólicos existen en Unix (incluidos macOS e iOS) y Windows (NTFS-symlink) y suelen crearse mediante los comandos ln -s o mklink, respectivamente.
Unix maneja los enlaces simbólicos de forma transparente. Al abrir un enlace simbólico, se abre el comando link's target.
A diferencia de isSymLink(), se devolverá false para los accesos directos (archivos*.lnk ) en Windows y los alias en macOS. Utilice QFileInfo::isShortcut() y QFileInfo::isAlias() en su lugar.
Nota: exists() devuelve true si el enlace simbólico apunta a un destino existente, en caso contrario devuelve false.
Véase también isFile(), isDir(), isShortcut() y symLinkTarget().
bool QFileInfo::isWritable() const
Devuelve true si el usuario puede escribir en la entrada del sistema de archivos a la que se refiere este QFileInfo; en caso contrario devuelve false.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Nota: Si no se ha activado la comprobación NTFS permissions, el resultado en Windows reflejará simplemente si la entrada está marcada como Sólo lectura.
Véase también isReadable(), isExecutable(), y permission().
[since 6.2] QString QFileInfo::junctionTarget() const
Resuelve una unión NTFS a la ruta a la que hace referencia.
Devuelve la ruta absoluta al directorio al que apunta una unión NTFS, o una cadena vacía si el objeto no es una unión NTFS.
No hay garantía de que el directorio nombrado por la unión NTFS exista realmente.
Esta función se introdujo en Qt 6.2.
Véase también isJunction(), isFile(), isDir(), isSymLink(), isSymbolicLink(), y isShortcut().
QDateTime QFileInfo::lastModified() const
Devuelve la fecha y hora de la última modificación del archivo.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función sobrecarga QFileInfo::lastModified(const QTimeZone &), y devuelve lo mismo que lastModified(QTimeZone::LocalTime).
Véase también birthTime(), lastRead(), metadataChangeTime(), y fileTime().
[since 6.6] QDateTime QFileInfo::lastModified(const QTimeZone &tz) const
Devuelve la fecha y hora de la última modificación del archivo.
La hora devuelta está en la zona horaria especificada por tz. Por ejemplo, puede utilizar QTimeZone::LocalTime o QTimeZone::UTC para obtener la hora en la zona horaria Local o UTC, respectivamente. Dado que la API nativa del sistema de archivos suele utilizar UTC, el uso de QTimeZone::UTC suele ser más rápido, ya que no requiere ninguna conversión.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función se introdujo en Qt 6.6.
Ver también birthTime(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &), y fileTime(QFileDevice::FileTime, const QTimeZone &).
QDateTime QFileInfo::lastRead() const
Devuelve la fecha y hora de la última lectura (acceso) del archivo.
En plataformas donde esta información no está disponible, devuelve la misma hora que lastModified().
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función sobrecarga QFileInfo::lastRead(const QTimeZone &), y devuelve lo mismo que lastRead(QTimeZone::LocalTime).
Véase también birthTime(), lastModified(), metadataChangeTime(), y fileTime().
[since 6.6] QDateTime QFileInfo::lastRead(const QTimeZone &tz) const
Devuelve la fecha y hora de la última lectura (acceso) del archivo.
La hora devuelta está en la zona horaria especificada por tz. Por ejemplo, puede utilizar QTimeZone::LocalTime o QTimeZone::UTC para obtener la hora en la zona horaria Local o UTC, respectivamente. Dado que la API nativa del sistema de archivos suele utilizar UTC, el uso de QTimeZone::UTC suele ser más rápido, ya que no requiere ninguna conversión.
En plataformas donde esta información no está disponible, devuelve la misma hora que lastModified().
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función se introdujo en Qt 6.6.
Ver también birthTime(const QTimeZone &), lastModified(const QTimeZone &), metadataChangeTime(const QTimeZone &), y fileTime(QFileDevice::FileTime, const QTimeZone &).
bool QFileInfo::makeAbsolute()
Si la ruta de la entrada del sistema de archivos es relativa, este método la convierte en una ruta absoluta y devuelve true; si la ruta ya es absoluta, este método devuelve false.
Véase también filePath() y isRelative().
QDateTime QFileInfo::metadataChangeTime() const
Devuelve la fecha y hora en que se modificaron por última vez los metadatos del archivo, en hora local.
Un cambio de metadatos se produce cuando el archivo se crea por primera vez, pero también se produce siempre que el usuario escribe o establece la información del inodo (por ejemplo, cambiando los permisos del archivo).
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función sobrecarga QFileInfo::metadataChangeTime(const QTimeZone &tz), y devuelve lo mismo que metadataChangeTime(QTimeZone::LocalTime).
Ver también birthTime(), lastModified(), lastRead(), y fileTime().
[since 6.6] QDateTime QFileInfo::metadataChangeTime(const QTimeZone &tz) const
Devuelve la fecha y hora en que se modificaron por última vez los metadatos del archivo. Un cambio de metadatos se produce cuando el archivo se crea por primera vez, pero también se produce siempre que el usuario escribe o establece la información del inodo (por ejemplo, cambiando los permisos del archivo).
La hora devuelta está en la zona horaria especificada por tz. Por ejemplo, puede utilizar QTimeZone::LocalTime o QTimeZone::UTC para obtener la hora en la zona horaria Local o UTC, respectivamente. Dado que la API nativa del sistema de archivos suele utilizar UTC, el uso de QTimeZone::UTC suele ser más rápido, ya que no requiere ninguna conversión.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Esta función se introdujo en Qt 6.6.
Ver también birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &), y fileTime(QFileDevice::FileTime time, const QTimeZone &).
QString QFileInfo::owner() const
Devuelve el propietario del fichero. En sistemas donde los ficheros no tienen propietario, o si se produce un error, se devuelve una cadena vacía.
Esta función puede llevar mucho tiempo en Unix (del orden de milisegundos). En Windows, devolverá una cadena vacía a menos que se haya activado la comprobación NTFS permissions.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también ownerId(), group() y groupId().
uint QFileInfo::ownerId() const
Devuelve el id del propietario del fichero.
En Windows y en sistemas donde los archivos no tienen propietario, esta función devuelve ((uint) -2).
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también owner(), group(), y groupId().
QString QFileInfo::path() const
Devuelve la ruta de la entrada del sistema de archivos a la que hace referencia este QFileInfo, excluyendo el nombre de la entrada.
Nota: Si a este QFileInfo se le da una ruta que termina con un separador de directorio '/', la parte del nombre de la entrada se considera vacía. En este caso, esta función devolverá la ruta completa.
Véase también filePath(), absolutePath(), canonicalPath(), dir(), fileName() y isRelative().
bool QFileInfo::permission(QFileDevice::Permissions permissions) const
Comprueba los permisos del archivo. El argumento permissions puede ser varias banderas de tipo QFile::Permissions OR-ed together para comprobar las combinaciones de permisos.
En sistemas donde los archivos no tienen permisos esta función siempre devuelve true.
Nota: El resultado puede ser impreciso en Windows si no se ha activado la comprobación NTFS permissions.
Ejemplo:
QFileInfo fi("/tmp/archivo.tar.gz");if (fi.permission(QFile::EscribirUsuario | QFile::LeerGrupo)) qWarning("I can change the file; my group can read the file"); si (fi.permission(QFile::EscribirGrupo | QFile::EscribirOtro)) qWarning("The group or others can change the file");
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también isReadable(), isWritable() y isExecutable().
QFileDevice::Permissions QFileInfo::permissions() const
Devuelve la combinación completa OR-ed together de QFile::Permissions para el archivo.
Nota: El resultado puede ser impreciso en Windows si no se ha activado la comprobación NTFS permissions.
Si el fichero es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
[since 6.6] QString QFileInfo::readSymLink() const
Lee la ruta a la que hace referencia el enlace simbólico.
Devuelve la ruta sin procesar a la que hace referencia el enlace simbólico, sin resolver una ruta relativa al directorio que contiene el enlace simbólico. La cadena devuelta sólo será una ruta absoluta si el enlace simbólico hace referencia a ella como tal. Devuelve una cadena vacía si el objeto no es un enlace simbólico.
Esta función se introdujo en Qt 6.6.
Véase también symLinkTarget(), exists(), isSymLink(), isDir(), y isFile().
void QFileInfo::refresh()
Actualiza la información sobre la entrada del sistema de archivos a la que hace referencia este QFileInfo, es decir, lee información del sistema de archivos la próxima vez que se obtiene una propiedad en caché.
void QFileInfo::setCaching(bool enable)
Si enable es verdadero, habilita el almacenamiento en caché de la información del archivo. Si enable es falso, se desactiva el almacenamiento en caché.
Cuando el almacenamiento en caché está activado, QFileInfo lee la información del archivo del sistema de archivos la primera vez que se necesita, pero generalmente no más tarde.
El almacenamiento en caché está activado por defecto.
Véase también refresh() y caching().
void QFileInfo::setFile(const QString &path)
Establece la ruta de la entrada del sistema de archivos sobre la que este QFileInfo proporciona información en path que puede ser absoluta o relativa.
En Unix, las rutas absolutas comienzan con el separador de directorios '/'. En Windows, las rutas absolutas comienzan con una especificación de unidad (por ejemplo, D:/).
Las rutas relativas comienzan con un nombre de directorio o un nombre de archivo normal y especifican la ruta de una entrada del sistema de archivos relativa al directorio de trabajo actual.
Ejemplo:
QFileInfo info("/usr/bin/env"); QString path = info.absolutePath(); // path = /usr/bin QString base = info.baseName(); // base = env info.setFile("/etc/hosts"); path = info.absolutePath(); // path = /etc base = info.baseName(); // base = hosts
Véase también isFile(), isRelative(), QDir::setCurrent() y QDir::isRelativePath().
[since 6.0] void QFileInfo::setFile(const std::filesystem::path &path)
Establece la ruta de la entrada del sistema de archivos sobre la que este QFileInfo proporciona información en path.
Si path es relativa, QFileInfo también tendrá una ruta relativa.
Esta función se introdujo en Qt 6.0.
void QFileInfo::setFile(const QFileDevice &file)
Establece el archivo sobre el que QFileInfo proporciona información en file.
Si file incluye una ruta relativa, QFileInfo también tendrá una ruta relativa.
Se trata de una función sobrecargada.
Véase también isRelative().
void QFileInfo::setFile(const QDir &dir, const QString &path)
Establece la ruta de la entrada del sistema de archivos sobre la que este QFileInfo proporciona información en path en el directorio dir.
Si dir tiene una ruta relativa, QFileInfo también tendrá una ruta relativa.
Si path es absoluta, no se tendrá en cuenta el directorio especificado por dir.
Esta es una función sobrecargada.
Véase también isRelative().
qint64 QFileInfo::size() const
Devuelve el tamaño del archivo en bytes. Si el archivo no existe o no se puede obtener, se devuelve 0.
Si el archivo es un enlace simbólico, esta función devuelve información sobre el destino, no sobre el enlace simbólico.
Véase también exists().
[since 6.0] void QFileInfo::stat()
Lee todos los atributos del sistema de archivos.
Esto es útil cuando la información sobre el sistema de archivos se recopila en un subproceso de trabajo, y luego se pasa a la interfaz de usuario en forma de instancias de almacenamiento en caché QFileInfo.
Esta función se introdujo en Qt 6.0.
Véase también setCaching() y refresh().
QString QFileInfo::suffix() const
Devuelve el sufijo (extensión) del archivo.
El sufijo está formado por todos los caracteres del archivo después (pero sin incluir) del último '.'.
Ejemplo:
El sufijo de un archivo se calcula por igual en todas las plataformas, independientemente de las convenciones de nomenclatura de archivos (por ejemplo, ".bashrc" en Unix tiene un nombre base vacío, y el sufijo es "bashrc").
Véase también fileName(), completeSuffix(), baseName() y completeBaseName().
[noexcept] void QFileInfo::swap(QFileInfo &other)
Intercambia esta información de archivo con other. Esta operación es muy rápida y nunca falla.
QString QFileInfo::symLinkTarget() const
Devuelve la ruta absoluta al archivo o directorio al que apunta un enlace simbólico, o una cadena vacía si el objeto no es un enlace simbólico.
Este nombre no puede representar un archivo existente; es sólo una cadena.
Nota: exists() devuelve true si el enlace simbólico apunta a un objetivo existente, en caso contrario devuelve false.
Véase también exists(), isSymLink(), isDir() y isFile().
[noexcept] QFileInfo &QFileInfo::operator=(QFileInfo &&other)
Mover-asigna other a esta instancia QFileInfo.
QFileInfo &QFileInfo::operator=(const QFileInfo &fileinfo)
Hace una copia del fileinfo dado y lo asigna a este QFileInfo.
No miembros relacionados
QFileInfoList
[noexcept] bool operator!=(const QFileInfo &lhs, const QFileInfo &rhs)
Devuelve true si QFileInfo lhs se refiere a una entrada del sistema de ficheros diferente a la referenciada por rhs; en caso contrario devuelve false.
Véase también operator==().
[noexcept] bool operator==(const QFileInfo &lhs, const QFileInfo &rhs)
Devuelve true si QFileInfo lhs y QFileInfo rhs hacen referencia a la misma entrada en el sistema de archivos; en caso contrario devuelve false.
Tenga en cuenta que el resultado de comparar dos objetos QFileInfo vacíos, que no contengan referencias a entradas del sistema de ficheros (rutas que no existen o están vacías), es indefinido.
Advertencia: Esto no comparará dos enlaces simbólicos diferentes que apunten al mismo objetivo.
Advertencia: En Windows, las rutas largas y cortas que hacen referencia a la misma entrada del sistema de archivos se tratan como si hicieran referencia a entradas diferentes.
Véase también operator!=().
Documentación de macros
[since 6.0] QT_IMPLICIT_QFILEINFO_CONSTRUCTION
Definir esta macro hace que la mayoría de los constructores de QFileInfo sean implícitos en lugar de explícitos. Dado que la construcción de objetos QFileInfo es costosa, debería evitarse crearlos accidentalmente, especialmente si existen alternativas más baratas. Por ejemplo:
QDirIterator it(dir);
while (it.hasNext()) {
// Implicit conversion from QString (returned by it.next()):
// may create unnecessary data structures and cause additional
// accesses to the file system. Unless this macro is defined,
// this line does not compile.
QFileInfo fi = it.next();
~~~
}En su lugar, utilice la API adecuada:
QDirIterator it(dir); while (it.hasNext()) { // Extract the QFileInfo from the iterator directly: QFileInfo fi = it.nextFileInfo(); ~~~ }
La construcción desde QString, QFile, y así sucesivamente es siempre posible usando inicialización directa en lugar de inicialización por copia:
QFileInfo fi1 = some_string; // Does not compile unless this macro is defined QFileInfo fi2(some_string); // OK QFileInfo fi3{some_string}; // Possibly better, avoids the risk of the Most Vexing Parse auto fi4 = QFileInfo(some_string); // OK
Esta macro se proporciona por razones de compatibilidad. No se recomienda su uso en código nuevo.
Esta macro se introdujo en Qt 6.0.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.