参考:https://blog.csdn.net/qq_38463737/article/details/107109046
一、介绍
QSettings可以记住用户操作UI界面设置的参数,下次打开软件的时候,会直接加载用户上一次设置的参数。
函数 | 参数 |
---|---|
QSettings(path, format): 加载配置文件,初始化QSettings | path:配置文件路径 |
format:QSettings:IniFormat读写Ini文件 | |
QSettings:NativeFormat读写注册表 | |
QSettings::InvalidFormat无效 | |
QSettings.value(path) 获取配置参数数值 | path:配置参数路径 |
settings.setValue(path", value) 设置配置参数数值 | path:配置参数路径、value:参数值 |
二、用法
2.1 传递给QSettings 两个参数
self.app_data = QSettings('Mysoft', 'test')
2.2 通过创建 ini 文件来存储数据
self.settings = QSettings("config.ini", QSettings.IniFormat)
self.Settings.setIniCodec('UTF-8') # 设置ini文件编码为 UTF-8
‘config.ini’是文件名,可以自定义
三、 代码
# 初始化保存设置
self.settings = QSettings("config.ini", QSettings.IniFormat)
# self.settings.setIniCodec('UTF-8') # 设置ini文件编码为 UTF-8
# 检查是否有数据进行初始化
if self.settings.value('SETUP/PORT_VALUE'):
self.init_info() # 如果存在数据就进行初始化
else:
# 没有数据就认为是第一次打开软件,进行第一次QSettings 数据存储
self.save_info()
def save_info(self):
PORT_VALUE = self.Settings_UI.lineEdit_4.text() # 获取LineEdit数据
self.settings.setValue("SETUP/PORT_VALUE", PORT_VALUE) # 作为是否初始化的条件
QMessageBox.information(self, "提示", "保存成功")
def init_info(self): # 初始化
PORT_VALUE = self.settings.value("SETUP/PORT_VALUE")
print("初始化", PORT_VALUE)
# 初始化文本框的内容
self.Settings_UI.lineEdit_4.setText(PORT_VALUE)