title: How to add Column Items to QtStandardItem
body: <p>I'm trying to add Items to a Row, but appendColum is giving</p>
  <pre><code>parent.appendColumn( sbl )
  TypeError: 'PySide2.QtGui.QStandardItem.appendColumn' called with wrong argument types:
    PySide2.QtGui.QStandardItem.appendColumn(list)
  Supported signatures:
    PySide2.QtGui.QStandardItem.appendColumn(typing.Sequence[PySide2.QtGui.QStandardItem])
  11:16:05: /usr/bin/python3 exited with code 1
  </code></pre>
  <p>I can't get a clue to what I'm doing wrong.</p>
  <p>QList doesn't exist in Python, and I already tried others, like pythonlists, QListWidgets (as examples), and coudn't find/understand what  typing.Sequence[PySide2.QtGui.QStandardItem] means</p>
  <p>In the following example code, when &quot;testROWONLY&quot; is False,
  I get the error., otherwise it just add rows in the hierarchy, which is not the goal.</p>
  <p>The goal is to add the JSONDICTs as columns of the key ID on whatever level there is ..,</p>
  <p>This part of the JSON example test string shows a DICT : &quot;Id&quot; , with an array ., they should be columns on that row.,</p>
  <pre><code>{ &quot;00000157438584&quot; : [ { &quot;Id&quot; : [  4136 , &quot;J&quot; ] }, &quot;NULL&quot;, &quot;Uma Empresa Mestre MEI&quot;, 22181, { &quot;dtInt&quot; : [ 3 , 43908 ] }, &quot;00000157438584&quot; ] },
  </code></pre>
  <pre><code># This Python file uses the following encoding: utf-8
  
  import json
  
  from PySide2 import *
  from PySide2.QtCore import *
  from PySide2.QtGui import *
  from PySide2.QtWidgets import *
  from PySide2.QtCore import *
  from PySide2.QtUiTools import *
  
  
  testROWONLY = False
  
  
  def fill_model_from_json(parent, d, row=True):
      if isinstance(d, dict):
          print(&quot;Dict :&quot; , d )
          for k, v in d.items():
              child = QStandardItem(str(k))
              parent.appendRow(child)
              fill_model_from_json(child, v)
      elif isinstance(d, list):
          print(&quot;List :&quot; , d )
          for v in d:
              if testROWONLY:
                  fill_model_from_json(parent, v)
              else:
                  sbl = []
                  if isinstance( v , dict ) or isinstance( v, list ):
                      print(&quot;Internal List or dict as item&quot; )
                      child = QStandardItem(str(v))
                      fill_model_from_json(child, v)
                      sbl.append(child)
                  else:
                      print(&quot;Item de Coluna&quot; )
                      sbl.append( str(v) )
                  parent.appendColumn( sbl )
          #
      else:
          print(&quot;Row:&quot;, row, &quot;, Valor :&quot; , d )
          parent.appendRow(QtGui.QStandardItem(str(d)))
  
  def fill_dict_from_model(parent_index, d):
      v = {}
      for i in range(model.rowCount(parent_index)):
          ix = model.index(i, 0, parent_index)
          fill_dict_from_model(ix, v)
      d[parent_index.data()] = v
  
  def model_to_dict(model):
      d = dict()
      for i in range(model.rowCount()):
          ix = model.index(i, 0)
          fill_dict_from_model(ix, d)
      return d
  
  
  testJSONString = &quot;&quot;&quot;[
  { &quot;00000157438584&quot; : [ { &quot;Id&quot; : [  4136 , &quot;J&quot; ] }, &quot;NULL&quot;, &quot;Uma Empresa Mestre MEI&quot;, 22181, { &quot;dtInt&quot; : [ 3 , 43908 ] }, &quot;00000157438584&quot; ] },
  { &quot;00000342877779&quot; : [ { &quot;Id&quot; : [ 18845 , &quot;H&quot; ] }, &quot;NULL&quot;, &quot;Outra Empresa Mestre EIRELI&quot;, 26691, { &quot;dtInt&quot; : [ 2 , 46351 ] }, &quot;00000342877779&quot; ] },
  { &quot;00000571608823&quot; : [ { &quot;Id&quot; : [ 20851 , &quot;G&quot; ] }, &quot;NULL&quot;, &quot;Mais Uma Empresa Total MEI&quot;, 31508, { &quot;dtInt&quot; : [ 5 , 61162 ] }, &quot;00000571608823&quot; ] },
  { &quot;00000764215701&quot; : [ { &quot;Id&quot; : [ 17852 , &quot;H&quot; ] }, &quot;NULL&quot;, &quot;Ainda Empresa Total EIRELI&quot;, 33922, { &quot;dtInt&quot; : [ 3 , 59695 ] }, &quot;00000764215701&quot; ] },
  { &quot;00000966091844&quot; : [ { &quot;Id&quot; : [ 16340 , &quot;K&quot; ] }, &quot;NULL&quot;, &quot;Uma Companhia Mestre MEI&quot;, 34485, { &quot;dtInt&quot; : [ 2 , 59583 ] }, &quot;00000966091844&quot; ] },
  { &quot;00001040080606&quot; : [ { &quot;Id&quot; : [ 15585 , &quot;J&quot; ] }, &quot;NULL&quot;, &quot;Outra Companhia Mestre EIRELI&quot;, 35530, { &quot;dtInt&quot; : [ 6 , 58528 ] }, &quot;00001040080606&quot; ] },
  { &quot;00001180903195&quot; : [ { &quot;Id&quot; : [ 13773 , &quot;P&quot; ] }, &quot;NULL&quot;, &quot;Mais uma Companhia Total MEI&quot;, 37256, { &quot;dtInt&quot; : [ 2 , 55107 ] }, &quot;00001180903195&quot; ] },
  { &quot;00001271948415&quot; : [ { &quot;Id&quot; : [ 12691 , &quot;F&quot; ] }, &quot;NULL&quot;, &quot;Mais Outras Companhia Total EIRELI&quot;, 37954, { &quot;dtInt&quot; : [ 2 , 54860 ] }, &quot;00001271948415&quot; ] },
  { &quot;00001951304915&quot; : [ { &quot;Id&quot; : [ 12090 , &quot;G&quot; ] }, &quot;NULL&quot;, &quot;Um Verdurao Mestre MEI&quot;, 39732, { &quot;dtInt&quot; : [ 1 , 54020 ] }, &quot;00001951304915&quot; ] },
  { &quot;00001953546566&quot; : [ { &quot;Id&quot; : [ 11344 , &quot;G&quot; ] }, &quot;NULL&quot;, &quot;Outro Verdurao Mestre EIRELI&quot;, 43292, { &quot;dtInt&quot; : [ 1 , 51624 ] }, &quot;00001953546566&quot; ] },
  { &quot;00001994748455&quot; : [ { &quot;Id&quot; : [  8745 , &quot;T&quot; ] }, &quot;NULL&quot;, &quot;Mais Um Verdurao Total MEI&quot;, 21795, { &quot;dtInt&quot; : [ 7 , 49724 ] }, &quot;00001994748455&quot; ] },
  { &quot;00002119061407&quot; : [ { &quot;Id&quot; : [  4665 , &quot;F&quot; ] }, &quot;NULL&quot;, &quot;Mais Outro Verdurao Total EIRELI&quot;, 20181, { &quot;dtInt&quot; : [ 9 , 49309 ] }, &quot;00002119061407&quot; ] },
  { &quot;00002139990302&quot; : [ { &quot;Id&quot; : [  4538 , &quot;K&quot; ] }, &quot;NULL&quot;, &quot;Ultimo Emporio Mestre MEI&quot;, 20051, { &quot;dtInt&quot; : [ 1 , 46538 ] }, &quot;00002139990302&quot; ] }
  ]
  &quot;&quot;&quot;
  
  
  
  
  if __name__ == '__main__':
      import sys
  
      app = QApplication(sys.argv)
      tree = QTreeView()
      model = QStandardItemModel()
      #
      #
      js = json.loads( testJSONString )
      print( js )
      #  data =  {&quot;A&quot;: {&quot;B&quot;: {&quot;H&quot;: {}, &quot;I&quot;: {&quot;M&quot;: {}, &quot;N&quot;: {}}}, &quot;D&quot;: {}, &quot;E&quot;: {}, &quot;F&quot;: {}, &quot;G&quot;: {&quot;L&quot;: {}}, &quot;C&quot;: {&quot;J&quot;: {}, &quot;K&quot;: {}}}}
  
      fill_model_from_json(model.invisibleRootItem(), js )
      tree.setModel(model)
      tree.expandAll()
      tree.resize(360, 480)
      tree.show()
      # d = model_to_dict(model)
      # assert(d == data)
      # print(d)
      sys.exit(app.exec_())
  </code></pre>