Qt配置文件分析

        学习Qt这么久,今天才发现了Qt的这个特性。Qt拥有一个QSettings的设置配置文件的类。它的原理是在注册表的当前用户下生成了一个项。在该项中将会存在一个以应用程序名为子项名的子项。然后在子项中可以通过setValue(QString &key, QVariant & value)设置相应的项名和项值。于是在下次启动时就可以再次读取该注册表中数据。这个比自己写配置文件来的确实要方便好多啊。

        下面就介绍下具体如何实现的过程:首先在主函数中__name__ == "__main__"。加入注册表项名    :

                                                                                                                                 app = QApplication(sys.argv)
                                                                                                                                 app.setOrganizationName("ZLG Ltd.")
                                                                                                                                 app.setApplicationName("ERMS Config Editor")

这里我们为我们的工程添加了注册表管理项,其会自动生成一个以工程名为名的子项名,如果不指定的话会生成一个默认的子项名。这时我们就可以在该注册表子项中添加我们的配置信息了。

            settings = QSettings()
            filename = QVariant(QString(self.filename)) if self.filename is not None else QVariant()
            settings.setValue("LastFile", filename)
            recentFiles = QVariant(self.recentFiles) if self.recentFiles else QVariant()
            settings.setValue("RecentFiles", recentFiles)

经过上面代码的设置,此时我们在注册表中便能观察到,添加了RecentFiles目录以及LastFile目录。

         于是,在软件初始化的时候,我们就可以来读取配置信息了。

         self.recentFiles = settings.value("RecentFiles").toStringList()

         想起以前自己还在写ini配置文件或是xml配置文件来实现程序运行中的用户记录数据。用QSettings的类实现方法确实给我们减轻了不少的负担。

你可能感兴趣的:(Qt配置文件分析)