title: Qt Model/View Architecture - How to Handle More Complex Models
body: <p>Is a model in Qt supposed to more or less fit the mold—and therefore ultimately be represented by—a list, table or tree?  What if your model is a lot more complex and cannot be represented by a list, table or tree?</p>
  
  <p>If this were the case, I would think that would make a model nothing but data; something comparable to an XML file or a spreadsheet.</p>
  
  <p>Example: What if the model within the application in question were something more complex, like a car?  I would assume the model of a car would include all sort of data and business rules about the car.  There would be an engine, wheels, a frame, and many other different components that all work together to create the entire car.  Each component would have its own unique set of behaviors: the frame would have a color, the engine would have a temperature, the stereo would have a volume setting, and so forth.  And each component would have behaviors too: if the gas pedal is pressed, the wheels rotate and the engine heats up.  Obviously, a <code>QStringListModel</code> or some other built-in, simplified model cannot appropriately address all of the complexities in a car.</p>