有一个QComboBox QWidgets class
,一个列表包含5次QComboBox QWidgets class
。在PyQt5
中带有classes of QWidgets
的列表如何在以后保存和恢复(序列化和反序列化)?
如果提供了下面的代码,那么使用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)
目前没有回答
相关问题 更多 >
编程相关推荐