Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I guess the easies way would be to iterate though model items and save save to file via <a href="http://doc.qt.nokia.com/latest/qdatastream.html" rel="nofollow">QDataStream</a>. QDataStream supports reading\writing QVariant's and you can get\set the model item's data as <a href="http://doc.qt.nokia.com/4.7-snapshot/qvariant.html" rel="nofollow">QVariant</a>. Below is a small example, I'm using <a href="http://doc.qt.nokia.com/4.7.1/qstandarditemmodel.html" rel="nofollow">QStandardItemModel</a> for simplicity:</p> <pre><code>import sys from PyQt4 import QtGui, QtCore class MainForm(QtGui.QMainWindow): def __init__(self, parent=None): super(MainForm, self).__init__(parent) self.setMinimumSize(400, 400) # create model self.model = QtGui.QStandardItemModel() for k in range(0, 4): parentItem = self.model.invisibleRootItem() for i in range(0, 4): item = QtGui.QStandardItem(QtCore.QString("item %0 %1").arg(k).arg(i)) parentItem.appendRow(item) parentItem = item # create treeview self.view = QtGui.QTreeView(self) self.view.setModel(self.model) self.view.setMinimumSize(300, 400) self.saveButton = QtGui.QPushButton("save", self) self.saveButton.move(300, 1) self.saveButton.clicked.connect(self.on_save_button_clicked) self.layout = QtGui.QVBoxLayout(self.centralWidget()) self.layout.addWidget(self.view) self.layout.addWidget(self.saveButton) def on_save_button_clicked(self): # create text file file = QtCore.QFile("save.txt") file.open(QtCore.QIODevice.WriteOnly) # open data stream out = QtCore.QDataStream(file) # recursively write model item into the datastream self.save_item(self.model.invisibleRootItem(), out) def save_item(self, item, out): for i in range(0, item.rowCount()): child = item.child(i) child.write(out) self.save_item(child, out) def main(): app = QtGui.QApplication(sys.argv) form = MainForm() form.show() app.exec_() if __name__ == '__main__': main() </code></pre> <p>hope this helps, regards</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload