Tôi đang sử dụng QT
trong ứng dụng C++
của mình. Tôi biết rằng khi tôi sử dụng QFileDialog
, lịch sử được lưu trong sổ đăng ký. Giả sử tôi có nhiều phiên bản QFileDialog
trong ứng dụng. Tôi có thể lưu lịch sử cho từng cá thể riêng biệt không? Theo như tôi đã kiểm tra, có vẻ như cùng một mục đăng ký được cập nhật cho từng trường hợp.Lịch sử của nhiều phiên bản của QFileDialog
5
A
Trả lời
2
Bạn có thể sử dụng các mục nhập QSettings khác nhau cho mỗi cá thể QFileDialog, với việc bạn quản lý chiều dài lịch sử và vị trí của mình.
một cái gì đó như thế
void callFileDialog(QLinkedList<QString> & fileDialogHistory)
{
QString fileName = QFileDialog::getOpenFileName(Q_NULLPTR, "Open File",
QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
if(!fileName.isNull()){
fileDialogHistory << fileName;
}
}
void saveFileDialogHistory(QLinkedList<QString> & fileDialogHistory, QString
fileDialogHistoryName = "History_Default")
{
QSettings settings;
settings.beginWriteArray(fileDialogHistoryName);
int index = 0;
for (QLinkedList<QString>::iterator it = fileDialogHistory.begin(); it != fileDialogHistory.end(); ++it){
settings.setArrayIndex(index);
settings.setValue("filePath", QFileInfo(*it).filePath());
index++;
}
settings.endArray();
}
Các vấn đề liên quan
- 1. QFileDialog mở nhiều tệp
- 2. Lịch sử phiên bản phù hợp
- 3. Phân phối lịch sử của các phiên bản nền tảng Android
- 4. phiên bản nào của StringComparer sử dụng
- 5. Nhiều phiên bản của JQuery trên cùng một trang
- 6. Nhiều phiên bản của cùng một thư viện
- 7. Truy cập nhiều phiên bản của gói trong Java
- 8. Liên kết với nhiều phiên bản của thư viện
- 9. chạy nhiều phiên bản của node.js song song
- 10. Cách phân phối nhiều phiên bản ứng dụng của tôi?
- 11. Tại sao nhiều phiên bản của một ứng dụng django?
- 12. Quản lý nhiều phiên bản của Ruby Gem
- 13. Mùa xuân tạo ra nhiều phiên bản của một singleton?
- 14. Phiên bản API thanh lịch trong Rails
- 15. Nhiều phiên bản của Windows Universal App (Windows 10)
- 16. Ngăn chặn mở nhiều phiên bản của ứng dụng VB
- 17. Xây dựng với nhiều phiên bản của trình biên dịch
- 18. Nhiều phiên bản của Google Maps trên một trang
- 19. Maven - Nhiều phiên bản của cùng một sự phụ thuộc
- 20. Giới hạn nhiều phiên bản của một ứng dụng
- 21. Nhiều phiên bản của Trình mô phỏng iPhone?
- 22. Nhiều phiên bản của node.js trên các lõi khác nhau
- 23. Phiên bản 4.x nào của gcc nên sử dụng?
- 24. Cách sử dụng nhiều phiên bản GCC
- 25. Phiên bản Scala của each_slice của Rubys?
- 26. phiên bản stdfloat.h của stdint.h
- 27. Phiên bản Python của freopen()
- 28. Phiên bản Subversion của GitHub?
- 29. Liệt kê tất cả các phiên bản của một số dòng nhất định trong lịch sử GIT
- 30. phiên bản chuyển đổi của python
bạn có thể vui lòng giúp đỡ với một ví dụ nhỏ – Jackzz
Bạn có thể làm theo các documention Qt với việc sử dụng cơ bản của họ http://doc.qt.io/qt-5/qsettings.html# sử dụng cơ bản –
Sau khi sử dụng cơ bản bạn có thể sử dụng phần foreach QFileDialog ví dụ http://doc.qt.io/qt-5/qsettings.html#section-and-key-syntax –