Możesz użyć różnych wpisów QSettings dla każdej instancji QFileDialog, zarządzając swoją historyczną długością i lokalizacją.
coś takiego
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();
}
Czy możesz pomóc małej przykład – Jackzz
Można śledzić dokumentację, Qt z ich podstawowego użytkowania http://doc.qt.io/qt-5/qsettings.html# podstawowe użycie –
Po podstawowym użyciu możesz użyć przekierowania sekcji QFileDialog na przykład http://doc.qt.io/qt-5/qsettings.html#section-and-key-syntax –