我正在开发一个 PyQt 应用程序,它有一个 TreeView,并使用模型在那里显示数据。让我先介绍代码,然后描述我遇到的困难。
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.ui = mainwindow.Ui_uiMainWindow()
self.ui.setupUi(self)
self.root = Node('root')
self.childNode = ChildNode('child node', self.root)
self.childNode2 = ChildNode('child node2', self.root)
self._model = PreferencesModel(self.root, self)
self.ui.uiTree.setModel(self._model)
self._propEditor = PropertiesEditor(self)
self.ui.layoutMain.addWidget(self._propEditor)
self._propEditor.setModel(self._model)
self.ui.uiSave.clicked.connect(self.savePreferences)
QtCore.QObject.connect(self.ui.uiTree.selectionModel(),
QtCore.SIGNAL("currentChanged(QModelIndex, QModelIndex)"),
self._propEditor.setSelection)
def savePreferences(self):
pass
我想做的是读取所有属性childNode
,childNode2
例如,并将它们保存到savePreferences
方法中的 json 或 xml 文件中。但是,我不知道是否应该使用self.childNode.attribute
或 using读取(或写入)值self._model
。