Come si ottengono i percorsi standard di sistema/utente in Qt?Come ottenere la cartella di download dell'utente in Qt?
Ciò di cui ho veramente bisogno è ottenere la posizione della cartella Download dell'utente.
Come si ottengono i percorsi standard di sistema/utente in Qt?Come ottenere la cartella di download dell'utente in Qt?
Ciò di cui ho veramente bisogno è ottenere la posizione della cartella Download dell'utente.
È possibile utilizzare QDir::homePath()
per ottenere un QString
nella home directory del profilo dell'utente corrente ma non sono sicuro che esista una directory di download "standard" identificata dal sistema operativo.
In Qt 4, viene QDesktopServices fornitura di alcuni percorsi utente:
https://doc.qt.io/qt-4.8/qdesktopservices.html#StandardLocation-enum
Ha esempio Desktop e documenti ma nessuna cartella di download specifica.
In Qt 5, utilizzare QStandardPaths:
const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
Sostiene che 'QStandardPaths :: writableLocation()' può restituire in modo ingiusto "... una stringa vuota se la posizione non può essere determinata." Allo stesso modo, la funzione 'QStandardPaths :: standardLocations()' ugualmente non sicura può restituire la lista vuota "... se non sono definite posizioni per tipo". In entrambi i casi, il valore di ritorno dovrebbe * mai * essere considerato ragionevole. I chiamanti dovrebbero * sempre * testare esplicitamente il vuoto. Infine, si noti che 'standardLocations()' restituisce una lista ed è quindi probabile che restituisca un valore sano più frequentemente di 'writableLocation()', che restituisce solo una singola stringa. –
Molto semplicemente: ** non ** Dal momento che * tutti * dovrebbe usare Qt 5, ormai, [QStandardPaths] (https:. //doc.qt. io/qt-5/qstandardpaths.html) e [Frank Osterfeld] (https://stackoverflow.com/users/299399/frank-osterfeld)'s [risposta erudita] (https://stackoverflow.com/a/3573367/2809027) sono i tuoi amici. Questa risposta, tuttavia, non lo è. –