title: PyQt Common Scientific Software Pattern: Tree and Settings Box
body: <p>I'm not thinking about this in the correct way, and maybe the resources are already out there but I cannot seem to find the right terminology to read about its implementation.</p>
  
  <p>Many software packages have arbitrarily complex data objects who's relationship is shown in "tree" form, and when you click any of the items then another widget displays the various settings and editing widgets, and then usually there's also a visualization pane.</p>
  
  <p>I tried to make a sample here:</p>
  
  <p><img src="https://i.stack.imgur.com/CZEFT.png" alt="Before">
  <img src="https://i.stack.imgur.com/DetrW.png" alt="After"></p>
  
  <p>The problem is that whenever I try to implement this my thing becomes a mess. I was thinking that for every property perhaps I would <code>setData</code> and insert a model in there, and recall it and set it to the settings-view whenever an item is clicked, but that's meant for QVariants only and when I put a C++ object in there the application segfaults.</p>
  
  <p>The idea of making individual setting boxes for every type of item seems tedious and inelegant. What I really want is that whenever I click on an item in the tree, the item somehow contains a dict of simple data-types (str, int, float, path) that behaves like a model that the user interacts with via the Item Settings "Table View", with appropriate delegates for each item type.</p>
  
  <p>What is the name of this pattern? Where can I learn how to implement it with Qt?</p>