Can someone help me understand Qt's model-view system?

I partially understand how to make models for lists and tables, but I don't get trees. Also, I don't understand what the delegate is.