Standart sistem/kullanıcı yollarını Qt'ye nasıl alabilirim?Kullanıcının indirme klasörü Qt'de nasıl bulunur?
Gerçekten ihtiyacım olan şey, kullanıcının İndirilenler klasörünün yerini bulmaktır.
Standart sistem/kullanıcı yollarını Qt'ye nasıl alabilirim?Kullanıcının indirme klasörü Qt'de nasıl bulunur?
Gerçekten ihtiyacım olan şey, kullanıcının İndirilenler klasörünün yerini bulmaktır.
Geçerli kullanıcı profilinin giriş dizinine QString
almak için QDir::homePath()
'u kullanabilirsiniz, ancak işletim sistemi tarafından tanımlanan bir "standart" indirme dizininin olduğundan emin değilim.
, QDesktopServices orada sağlayan bir kullanım yolları:
https://doc.qt.io/qt-4.8/qdesktopservices.html#StandardLocation-enum
Bu, örneğin var Masaüstü ve Belgeler, ancak belirli İndirilenler klasörü yok.
Qt 5'te, QStandardPaths kullanın:
const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
“QStandardPaths :: writableLocation()” öğesi yanlış bir şekilde döndürebileceğine dikkat çekiyor: “konum belirlenemiyorsa boş bir dize”. Aynı şekilde, aynı derecede güvenli olmayan QStandardPaths :: standardLocations() 'işlevi boş bir listeyi" tür için hiçbir konum tanımlanmamışsa "döndürür. Her iki durumda da, dönüş değeri * asla * aklı başında kabul edilmelidir. Arayanlar * her zaman * açıkça boşluk için test etmelidir. Son olarak, standartLocations() 'ın bir liste döndürdüğünü ve dolayısıyla bir tekli değeri, tek bir dize döndüren writableLocation()' dan daha sık döndürme olasılığına sahip olduğunu unutmayın. –
Oldukça basit: ** hayır ** * herkesin [QStandardPaths], şimdiye kadar Qt 5 kullanarak olmalıdır * (https beri. //doc.qt. io/qt-5/qstandardpaths.html) ve [Frank Osterfeld] (https://stackoverflow.com/users/299399/frank-osterfeld) 'in [erudite yanıtı] (https://stackoverflow.com/a/3573367/2809027) arkadaşlarınız. Ancak bu cevap değil. –