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?
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.
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 QStringListModel
or some other built-in, simplified model cannot appropriately address all of the complexities in a car.