我正在开发一个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
或使用self._model
来阅读(或写入)这些值。