模型/观点理论

时间:2015-05-06 17:27:58

标签: python qt model

(我使用Python / Qt,但这可能适用于任何语言......)

我有一个模型,它是一个容器对象,支持__len__(...)__getitem__(...)等功能。我实际上是使用numpy实现一个自定义环形缓冲区,但是这个'除了这一点。它还具有append(...)功能。

我还有一个视图,它是一个UI元素(派生自QWidget)。它有一个按钮,一个QTableView的实例,它还有一个append(...)函数,它根据UI的状态有条件地将数据转发给底层模型。它还有一个model()函数,它从QTableView实例返回模型,即它只是return myTableViewInstance.model()

我的问题是View是否还应包含直接转发给模型的__len__()__getitem__(...)等函数,因此视图的用户只能进行交互使用视图,或者用户是否合法通过model()获取模型,并直接对模型执行操作,例如len(myView.model())myView.model()[1:100]

一方面,将视图向下转移到模型上似乎是多余的,但是看起来像是在欺骗/肮脏以获取模型并直接操作它,因为这违反了模型的精神/图。

0 个答案:

没有答案