Rouvrir le dernier répertoire ouvert [PyQt5]
Bonjour,
N'ayant pas trouvé de thread approprié, je me suis mis sur celui-ci.
Voilà mon problème: je code sous PyQt5 et je dois faire en sorte que lorsqu'un utilisateur utilise un QopenFileDialog, le chemin du dernier fichier utilisé soit sauvegardé.
Le problème est qu'après quelques semaines de recherches, je ne suis arrivé à rien de concluant (je suis débutant).
J'ai donc fait en sorte de ne pas utilser le 'dialog natif', car il semblerait que ce soit pour ça qu'on ne puisse pas réussir à enregistrer le chemin...
Code:
csv_file_list = QtWidgets.QFileDialog.getOpenFileName(self, 'Open File', '', 'Csv Files (*.csv)', None, QtWidgets.QFileDialog.DontUseNativeDialog)
J'ai essayé diverses choses que je vous met ici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| csv_file_list = QtWidgets.QFileDialog.getSaveFileName(self, 'Dialog Title', '/path/to/default/directory', selectedFilters='*.txt')
if csv_file_list:
print (csv_file_list)
theInputDir = ''
if os.path.exists(configFile):
config = ConfigParser.ConfigParser()
config.read(configFile)
if config.has_sections('dirs'):
if config.has_option('dirs', 'inputdir'):
theInputDir = config.get('dirs', 'inputdir')
csv_file_list = QtWidgets.QFileDialog.getOpenFileName(self, 'Open file', '', '*.csv')
if csv_file_list:
self.lineEditInputFile.setText(csv_file_list)
inputDirName = os.path.dirname(csv_file_list.ascii())
self.textEditInfo.append('Inpu Dir : ' + inputDirName)
#Write the directory to the config file for the next time
config = ConfigParser.ConfigParser()
config.read(configFile)
if not config.has_sections('dirs'):
config.add_sections('dirs')
config.set('dirs', 'inpudir', inputDirName)
fpConf = open(configFile, 'w') #configFile is global
config.write(fpConf)
fpConf.close()
##
save = QtWidgets.QFileDialog.saveState(self)
QtWidgets.QFileDialog.resaveState(save)
if self.QFileDialog.restoreState(dir_path) == true:
csv_file_list =
##
settings = QSettings()
self.recentFiles = settings.value("RecentFiles").toStringList()
settings.value("Recent files").toStringList
size = settings.value("MainWindow/Size", QSize(800, 600)).toSize()
self.resize(size)
self.restoreState(settings.value("MainWindow/State").toByteArray())
self.setWindowTitle("Mobility Data Display - " + dir_path)
self.updateFileMenu()
QTimer.SingleShot(0, self.loadInitialFile)
##
settings = QSettings(dir_path, "docs")
settings.value("toto")
##Non native Dialog first attempt
csv_file_list = QtWidgets.QFileDialog.getOpenFileName(self, 'Open file', '', '*.csv'),None, QtWidgets.QFileDialog.DontUseNativeDialog)
##Non native Dialog second attempt
dialog = QtWidgets.QFileDialog(self)
dialog.setWindowTitle('Open File')
dialog.setNameFilter('*.csv')
dialog.setFileMode(QtWidgets.QFileDialog.ExistingFile)
if dialog.exec_() == QtWidgets.QDialog.Accepted:
csv_file_list = dialog.selectedFiles()[0] |
Ca fait beaucoup mais je n'ai pas chômé !
Je pensais aussi stocker le chemin du dernier fichier utilisé dans un .txt et le réutiliser derrière mais je ne sais tout simplement pas comment m'y prendre ...
Si vous avez une solution ou juste un début je suis preneur !!
Merci par avance !