将值从INI文件加载到组合框

时间:2015-07-02 14:26:57

标签: python combobox ini pyqt5 qcombobox

我有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 个答案:

答案 0 :(得分:0)

好的,我找到了。这是一个愚蠢的错误。 在我的

if __name__ == "__main__":

我在从.ini文件中获取值之前调用函数,因此将其置为零。那就是它。

更新:现在索引是正确的,但组合框中的名称不是。即使我使用正确的索引设置了setCurrentIndex,它也不会发生变化。怎么样?