Cargué un archivo desde una ubicación, luego la siguiente carga debe señalar la última ubicación cargada. ¿Cómo puedo lograrlo usando QSettings
?QSettings - El selector de archivos debe recordar el último directorio
Respuesta
Antes de utilizar QSettings
, sugeriría, en su main()
configurar algunas informaciones sobre su aplicación y su empresa, información que QSettings
va a utilizar:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("test");
a.setOrganizationName("myorg");
a.setOrganizationDomain("myorg.com");
// etc...
return a.exec();
}
Entonces, al seleccionar un archivo con QFile::getOpenFileName()
(por ejemplo), puede leer desde una clave de QSetting
el último directorio. Luego, si el archivo seleccionado es válido, puede almacenar/actualizar el contenido de la clave:
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 + "'");
}
}
Si usted está hablando de QFileDialog() Puede especificar el directorio inicial en el constructor:
QFileDialog::QFileDialog(QWidget * parent = 0, const QString & caption =
QString(), const QString & directory = QString(), const QString & filter =
QString())
o puede utilizar una de las funciones de ayuda como ésta que también le permiten especificar el directorio de inicio :
QString QFileDialog::getOpenFileName(QWidget * parent = 0,
const QString & caption = QString(), const QString & dir = QString(),
const QString & filter = QString(), QString * selectedFilter = 0,
Options options = 0)
Después de cada uso, almacenar la ruta del directorio que fue seleccionado y utilizarla la próxima vez que se muestra el cuadro de diálogo.
- 1. QSettings(): Cómo guardar en el directorio de trabajo actual
- 2. Ayuda con el selector JQuery: no (: último)
- 3. QSettings no maneja el pozo Unicode
- 4. Cómo obtener el directorio de ruta completo desde el Selector de archivos
- 5. Usando: último-niño con el selector de clase
- 6. Seleccione el último archivo modificado de un directorio
- 7. abrir el último archivo modificado en el directorio usando vi
- 8. Obtener el último comando de lote de directorio creado
- 9. ¿Qué es más eficiente - $ ('selector'). Last() o $ ('selector: último')?
- 10. Selector de directorio en la página HTML
- 11. ¿Cómo abrir la Terminal en el último directorio abierto?
- 12. cargar nuevos archivos en el directorio
- 13. Abrir un selector de directorio en C#
- 14. especificar el directorio donde gfortran debe buscar módulos
- 15. Agregar archivos WSDL desde el directorio de archivos
- 16. Mostrar el cuadro de diálogo del selector de archivos
- 17. Archivos en el directorio en C++
- 18. Copie todos los archivos en el directorio
- 19. ¿Cómo puedo abrir programáticamente el selector de archivos con JavaScript?
- 20. ¿Qué permisos de archivos debe tener el contenido de $ GIT_DIR?
- 21. Guarde los archivos de SharedPreferences en el directorio personalizado u obtenga el directorio predeterminado de SharedPreferences
- 22. ¿Cómo se determina el último número de revisión de SVN enraizado en un directorio?
- 23. ¿Cómo leer el último comentario confirmado?
- 24. Archivos en XP: ¿Está seguro el "último acceso" seguro?
- 25. último archivo modificado en un directorio
- 26. PHP mkdir ($ recursiva = true) salta último directorio
- 27. Buscar el último domingo
- 28. Recordar ajax datos agregados al presionar el botón Atrás
- 29. ¿Cómo usar VIM para recordar archivos abiertos entre sesiones?
- 30. Cambiar el directorio de salida de los archivos .css
ideas para usar QSettings – user198725878