#!/usr/bin/env python

import sys
from PySide import QtGui

class MainApp(QtGui.QTreeView) :
    def __init__(self) :
        super(MainApp, self).__init__()

        self.initUI()

    def initUI(self) :
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Budget')

        self.show()

def main() :
    app = QtGui.QApplication(sys.argv)
    mainApp = MainApp()
    sys.exit(app.exec_())

if __name__ == '__main__' :
    main()

@@ -51,16 +51,995 @@
 rt QtGui
+, QtCore%0A%0Aclass DataModel(QtCore.QAbstractItemModel) :%0A   def __init__(self, parent=None) :%0A      super(DataModel, self).__init__(parent)%0A%0A   def columnCount(self, parent) :%0A      return 2%0A%0A   def rowCount(self, parent) :%0A      if parent.isValid() :%0A         return 0%0A      return 3%0A%0A   def data(self, index, role) :%0A      if not index.isValid() :%0A         return None%0A%0A      if role != QtCore.Qt.DisplayRole :%0A         return None%0A%0A      return %22data @ %7B%7D%22.format(index)%0A%0A   def headerData(self, section, orientation, role) :%0A      return (%22col_1%22, %22col_2%22)%0A%0A   def index(self, row, column, parent) :%0A      if not self.hasIndex(row, column, parent) :%0A         return QtCore.QModelIndex()%0A%0A      if not parent.isValid() :%0A         if column %3C 2 and row %3C 3 :%0A            return self.createIndex(row, column, %22index @(%7B%7D, %7B%7D)%22.format(row, column))%0A%0A   def parent(self, index) :%0A      if not index.isValid() :%0A         return QtCore.QModelIndex()%0A      return QtCore.QModelIndex()%0A
 %0A%0Aclass 
@@ -1259,16 +1259,51 @@
 Budget')
+%0A        self.setModel(DataModel())
 %0A%0A      

Add stubby data model