Tôi tải lên một tệp từ một vị trí, sau đó tải lên tiếp theo phải trỏ vị trí được tải lên cuối cùng. Làm thế nào tôi có thể thực hiện được như vậy bằng cách sử dụng QSettings
?QSettings - File chooser nên nhớ thư mục cuối cùng
5
A
Trả lời
18
Trước khi sử dụng QSettings
, tôi sẽ đề nghị, trong main()
của bạn để thiết lập một vài thông tin về ứng dụng của bạn và công ty của bạn, thông tin mà QSettings
sẽ được sử dụng:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("test");
a.setOrganizationName("myorg");
a.setOrganizationDomain("myorg.com");
// etc...
return a.exec();
}
Sau đó, khi lựa chọn một tập tin với QFile::getOpenFileName()
(ví dụ), bạn có thể đọc từ khóa của QSetting
thư mục cuối cùng. Sau đó, nếu tệp đã chọn hợp lệ, bạn có thể lưu trữ/cập nhật nội dung của khóa:
void Widget::on_tbtFile_clicked() {
const QString DEFAULT_DIR_KEY("default_dir");
QSettings MySettings; // Will be using application informations
// for correct location of your settings
QString SelectedFile = QFileDialog::getOpenFileName(
this, "Select a file", MySettings.value(DEFAULT_DIR_KEY).toString());
if (!SelectedFile.isEmpty()) {
QDir CurrentDir;
MySettings.setValue(DEFAULT_DIR_KEY,
CurrentDir.absoluteFilePath(SelectedFile));
QMessageBox::information(
this, "Info", "You selected the file '" + SelectedFile + "'");
}
}
1
Nếu bạn đang nói về QFileDialog(), bạn có thể chỉ định thư mục bắt đầu từ các nhà xây dựng:
QFileDialog::QFileDialog(QWidget * parent = 0, const QString & caption =
QString(), const QString & directory = QString(), const QString & filter =
QString())
Hoặc bạn có thể sử dụng một trong các chức năng helper như thế này mà cũng cho phép bạn chỉ định thư mục bắt đầu :
QString QFileDialog::getOpenFileName(QWidget * parent = 0,
const QString & caption = QString(), const QString & dir = QString(),
const QString & filter = QString(), QString * selectedFilter = 0,
Options options = 0)
Sau mỗi lần sử dụng, lưu trữ đường dẫn thư mục đã được chọn và sử dụng lần sau khi bạn hiển thị hộp thoại.
Các vấn đề liên quan
- 1. xóa thư mục cuối cùng trong URL
- 2. QSettings(): Cách lưu vào thư mục làm việc hiện tại
- 3. Có cách nào để tạo hộp thoại chọn tệp java nhớ thư mục cuối cùng không?
- 4. Lấy 2 thư mục cuối cùng của đường dẫn tệp
- 5. chơi-framework nhận ngày cuối cùng sửa đổi cho file
- 6. Khi nào tôi nên sử dụng cuối cùng-block trong Java try-catch-cuối cùng
- 7. Các lớp học cuối cùng trong Java không nên là cuối cùng hoặc ngược lại?
- 8. Thư viện tiện ích thư mục và tệp .NET cuối cùng?
- 9. Mục tiêu "Cuối cùng" cho MSBuild
- 10. Bash chỉ mục cuối cùng của
- 11. jQGrid Cột Chooser Modal Overlay
- 12. Tôi nên học bao nhiêu ASP.NET nếu mục tiêu cuối cùng của tôi là ASP.NET MVC?
- 13. Cấu trúc thư mục bộ nhớ cache
- 14. Tạo thư mục trong Bộ nhớ trong
- 15. Bắt phiên bản cuối cùng của một thư mục bị xóa trong subversion
- 16. Nên logger luôn luôn cuối cùng và tĩnh?
- 17. thứ tự file theo ký tự cuối cùng của tên tập tin trong Powershell
- 18. Cách lấy chỉ mục cột cuối cùng đọc tệp excel?
- 19. Hạt nhân Linux - Nhận khối bộ nhớ viết cuối cùng
- 20. UNIX shell file sao chép cấu trúc thư mục phẳng
- 21. Lưu thư mục làm việc cuối cùng trên bản ghi Bash
- 22. PHP mkdir ($ đệ quy = true) bỏ qua thư mục cuối cùng
- 23. Lấy phần cuối cùng của đường dẫn thư mục trong vỏ
- 24. đường dẫn tách và lấy tên thư mục cuối cùng trong tập lệnh theo lô
- 25. jQuery: Nhận hai mục danh sách cuối cùng?
- 26. Trong Java, tôi có nên tạo một Gói, Thư mục hoặc Thư mục Nguồn mới không?
- 27. danh sách VBScript tất cả các file PDF trong thư mục và thư mục con
- 28. thư mục chưa biết xóa trong một thư mục sử dụng các file .BAT
- 29. danh sách tất cả các file trong thư mục và cũng phụ thư mục
- 30. Di chuyển tất cả các file từ thư mục vào thư mục khác với java
mọi ý tưởng sử dụng QSettings – user198725878