아래 코드는 QSettings
개체를 사용하여 파이썬 data
사전을 저장합니다. 사전을 다시 읽은 후 그래서 같은 QString
등 모든 키와 함께 제공 :QSettings로 파이썬 사전을 저장하는 방법
{PyQt4.QtCore.QString(u'one'): 1, PyQt4.QtCore.QString(u'two'): 2}
가이 같은 일반 문자열 키를 사용하여 사전을 읽을 수있을 것인지 궁금 :
{'one': 1, 'two': 2}
코드 :
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
settings = QtCore.QSettings('apps', 'settings')
data = {'one': 1, 'two': 2}
settings.setValue('data', data)
data = settings.value('data').toPyObject()
print data
그것은 파이썬 2에서이 작업을 수행 할 수있다 [sip.setapi] (http://pyqt.sourceforge.net /Docs/PyQt4/incompatible_apis.html) 파이썬 3과 동일한 동작을 얻으려고합니다. 왜 그 사람들이 그 코드에 불쾌한'QString'과'QVariant' 타입을 유지하고자하는지 모르겠습니다. 'str()'으로 변환하는 것은 또한 파이썬 2에서 버그가있다 - 디코드/인코딩 오류를 피하기 위해 항상 변환을 수행하려면'unicode()'를 사용해야한다. – ekhumoro