恐怕在GUI编程中,都离不开MVC模式,这得感谢SmallTalk的使用者们创造了这种模式。而且很多面向对象的大牛们都使用SmallTalk。MVC被设计出来的初衷就是为了将数据和表现分离。
在PyQt中,MVC更准确的解释为Model、View和Delegate。一个完整的MVD过程应该是,View通过Model将数据读出,将数据和画布传给Controller/Delegate,C/D根据View要求,将数据显示出来。
在QModelIndex对象表示了Model中每条数据的索引,对于列表有row属性,对于表格有row、column属性,对于树形有parent属性。
相对于QListWidget,有QListView和QAbstractListModel。