QSettings을 사용하여 모든 애플리케이션 데이터를 저장할 수 있습니다. QPixmap
, QPoint
, QColor
등과 같은 데이터 유형이 자동으로 변환됩니다. 기본적으로 설정은 platform-independant way에 저장되지만 원하는 경우 사용자 정의 위치에 저장할 수도 있습니다.
이
def settings(self):
# use a custom location
return QtCore.QSettings('app.conf', QtCore.QSettings.IniFormat)
def readSettings(self):
self.items = []
settings = self.settings()
for index in range(settings.beginReadArray('items')):
settings.setArrayIndex(index)
self.items.append(Item(
settings.value('number', -1, int),
settings.value('pixmap', None, QtGui.QPixmap),
settings.value('point', None, QtCore.QPoint),
settings.value('designation', '', str),
))
def writeSettings(self):
settings = self.settings()
settings.beginWriteArray('items')
for index, item in enumerate(self.items):
settings.setArrayIndex(index)
settings.setValue('number', item.item_nbr)
settings.setValue('pixmap', item.crop_pixmap)
settings.setValue('point', item.origin_point)
settings.setValue('designation', item.designation)
settings.endArray()
QSettings.value()
의 PyQt는 버전이 기본 값과 값의 예상 유형을 모두 지정할 수 있습니다 : 여기
당신이 당신의 Item
클래스를 읽기/쓰기 수있는 방법입니다.
QPixmap 자신을 위해'__setstate__' 및'__getstate__' 메소드를 정의해야합니다. [doc] (https://docs.python.org/2/library/pickle.html#object.__getstate__)을 읽으십시오. – RedEyed