QSetting和QWidgets类的序列化和反序列化

列表具有QComboBox QWidgets class,包含5次QComboBox QWidgets classclasses of QWidgets中带有PyQt5的列表以后如何保存和恢复(序列化和反序列化)? 在提供以下代码的情况下,可以使用QSetting对此类进行序列化和反序列化!

COMBO.py

from PyQt5 import QtWidgets,QtGui
class combo(QtWidgets.QWidget):
    def __init__(self,parent = None):
        super(combo,self).__init__(parent)
        layout = QtWidgets.QHBoxLayout(self)
        self.cb = QtWidgets.QComboBox()
        self.cb.addItems(["1","2","3","4"])
        self.cb.setCurrentIndex(2)
        pal = self.cb.palette()
        pal.setColor(QtGui.QPalette.Button,QtGui.QColor(255,255,255))
        self.cb.setPalette(pal)
        layout.addWidget(self.cb)

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    ex = combo()
    ex.show()
    sys.exit(app.exec_())

串行化和反序列化

from COMBO import combo
from PyQt5 import QtCore,QtWidgets,QtGui

def readSettings():
    settings = QtCore.QSettings('file.ini',QtCore.QSettings.IniFormat)
    settings.beginGroup("LIST")
    # Some code to restore classes
    settings.endGroup()

def writeSettings(CLASSLISTS):
    settings = QtCore.QSettings('file.ini',QtCore.QSettings.IniFormat)
    settings.beginGroup("LIST")
    # Some code to store classes
    settings.endGroup()   

CLASSLISTS = []

for _ in range(5):
    CLASSLISTS.append(combo())

print(CLASSLISTS)
writeSettings(CLASSLISTS)
oldbie 回答:QSetting和QWidgets类的序列化和反序列化

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3011450.html

大家都在问