Загрузить значения из INI-файла в поле со списком
У меня есть GUI
(создано с помощью PyQt5 & Python3.4). У меня есть пара комбобоксов: первая - это марка автомобилей, а вторая - модели выбранной марки.
у меня есть INI file
сохранить последние значения, введенные в GUI
поэтому, когда я снова открываю GUI
, последние значения / параметры ставятся автоматически. Это работает для всех других моих параметров, кроме выпадающего списка. Я пишу currentIndex
в INI file
когда я закрываю GUI
правильный индекс записан в INI-файле, но когда я открываю GUI
опять индекс меняется на 0.
Вот как выглядит мой код:
def comboSelect(self):
config = configparser.ConfigParser()
config.read('D:\File\save.ini')
self.indexModel = ui.dmpModele.currentIndex()
config.set('de_sec', 'dmp_modele', str(self.indexModel))
with open('D:\File\save.ini', 'w') as configfile:
config.write(configfile) # write the index in the INI file
if __name__ == "__main__":
config = configparser.ConfigParser()
config.read('D:\File\save.ini')
p.indexModel = config.get('de_sec', 'dmp_modele') # get the value of index from INI file
ui.dumperModele.setCurrentIndex(int(p.indexModel)) # pass the index to combo box
Что я пропустил?
1 ответ
Хорошо, я нашел это. Это была глупая ошибка. В моем
if __name__ == "__main__":
Я вызывал функции до того, как получил значения из INI-файла, и поэтому они были обнулены. Вот и все.
ОБНОВЛЕНИЕ: теперь индекс правильный, но имя в выпадающем списке - нет. Это не меняется, хотя я установил setCurrentIndex
с правильным индексом. Как насчет этого?