¿Cómo obtengo las rutas estándar del sistema/usuario en Qt?¿Cómo obtener la carpeta de descarga del usuario en Qt?
Lo que realmente necesito es obtener la ubicación de la carpeta de descargas del usuario.
¿Cómo obtengo las rutas estándar del sistema/usuario en Qt?¿Cómo obtener la carpeta de descarga del usuario en Qt?
Lo que realmente necesito es obtener la ubicación de la carpeta de descargas del usuario.
Puede usar QDir::homePath()
para obtener un QString
en el directorio de inicio del perfil del usuario actual, pero no estoy seguro de que exista un directorio de descarga "estándar" identificado por el sistema operativo.
En Qt 4, se QDesktopServices proporcionar algunos rutas de usuario:
https://doc.qt.io/qt-4.8/qdesktopservices.html#StandardLocation-enum
Tiene por ejemplo Escritorio y documentos, pero no hay una carpeta de descargas específica.
En Qt 5, utilice QStandardPaths:
const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
Cabe señalar que 'QStandardPaths :: writableLocation()' puede devolver inseguramente "... una cadena vacía si no se puede determinar la ubicación". Del mismo modo, la función 'QStandardPaths :: standardLocations()' igualmente insegura puede devolver la lista vacía "... si no se definen ubicaciones para el tipo". En cualquier caso, el valor de retorno * * debe ser considerado como cuerdo. Las personas que llaman deben * siempre * probar explícitamente el vacío. Por último, tenga en cuenta que 'standardLocations()' devuelve una lista y, por lo tanto, es probable que devuelva un valor razonable con más frecuencia que 'writableLocation()', que solo devuelve una sola cadena. –
En pocas palabras: ** NO ** * Desde todo el mundo * debe utilizar Qt 5 por ahora, [QStandardPaths] (https:. //doc.qt. io/qt-5/qstandardpaths.html) y [Frank Osterfeld] (https://stackoverflow.com/users/299399/frank-osterfeld) 's [respuesta erudita] (https://stackoverflow.com/a/3573367/2809027) son tus amigos. Esta respuesta, sin embargo, no lo es. –