Làm cách nào để có được đường dẫn hệ thống/người dùng chuẩn trong Qt?Cách tải thư mục tải xuống của người dùng xuống Qt?
Điều tôi thực sự cần là lấy vị trí thư mục Tải xuống của người dùng.
Làm cách nào để có được đường dẫn hệ thống/người dùng chuẩn trong Qt?Cách tải thư mục tải xuống của người dùng xuống Qt?
Điều tôi thực sự cần là lấy vị trí thư mục Tải xuống của người dùng.
Bạn có thể sử dụng QDir::homePath()
để nhận QString
vào thư mục chính của hồ sơ người dùng hiện tại nhưng tôi không chắc rằng thư mục tải xuống "chuẩn" được hệ điều hành xác định.
Trong Qt 4, có QDesktopServices cung cấp một số đường dẫn sử dụng:
https://doc.qt.io/qt-4.8/qdesktopservices.html#StandardLocation-enum
Nó có ví dụ Máy tính để bàn và tài liệu nhưng không có thư mục Tải xuống cụ thể.
Trong Qt 5, sử dụng QStandardPaths:
const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
Nó lưu ý rằng 'QStandardPaths :: writableLocation()' có thể trả về một cách không an toàn "... một chuỗi trống nếu vị trí không thể xác định được." Tương tự, hàm QStandardPaths :: standardLocations() 'không an toàn như nhau có thể trả về danh sách rỗng" ... nếu không có vị trí nào cho kiểu được xác định. " Trong cả hai trường hợp, giá trị trả về sẽ * không bao giờ * được giả định là sane. Người gọi nên * luôn luôn * kiểm tra một cách rõ ràng cho sự trống rỗng. Cuối cùng, lưu ý rằng 'standardLocations()' trả về một danh sách và do đó có khả năng trả về một giá trị sane thường xuyên hơn 'writableLocation()', mà chỉ trả về một chuỗi đơn. –
Rất đơn giản: ** không ** Kể từ khi tất cả mọi người * * nên sử dụng Qt 5 bởi bây giờ, [QStandardPaths] (https:. //doc.qt. io/qt-5/qstandardpaths.html) và [Frank Osterfeld] (https://stackoverflow.com/users/299399/frank-osterfeld) 'câu trả lời erudite] (https://stackoverflow.com/a/3573367/2809027) là bạn của bạn. Câu trả lời này, tuy nhiên, không phải là. –