PySide的qsettings返回unicode

0 投票
1 回答
539 浏览
提问于 2025-04-18 16:23

大家好,我在使用Pyside的时候遇到了一个关于Qsettings的问题。每当我尝试获取之前存储的一个列表时... 我得到的却是unicode格式的内容。我在网上搜索过这个问题,但似乎没有找到关于列表的解决办法。

1 个回答

2

根据PySide的文档,要在QSettings对象中存储一个列表或数组,你需要这样做:

mylist = ['a', 'b', 'c']

settings = QSettings()
settings.beginWriteArray("mylist")
for idx, value in enumerate(mylist):
    settings.setArrayIndex(i)
    settings.setValue("key", value)

settings.endArray()

具体的做法可以参考这里:http://srinikom.github.io/pyside-docs/PySide/QtCore/QSettings.html#PySide.QtCore.PySide.QtCore.QSettings.beginWriteArray

如果你想读取这个列表或数组,可以这样做:

mylist = []

settings = QSettings()
size = settings.beginReadArray("mylist")
for i in range(size):
    settings.setArrayIndex(i)
    mylist.append(settings.value("key"))

settings.endArray()

详细的步骤可以查看这里:http://srinikom.github.io/pyside-docs/PySide/QtCore/QSettings.html#PySide.QtCore.PySide.QtCore.QSettings.beginReadArray


也许你可以分享一下你的代码示例,这样我们可以提供更多帮助。

撰写回答