参考: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)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐