Model view controller 这是不是Qt模型/视图体系结构没有用处的情况?
我正在编写一个基于GUI的应用程序,每隔几秒钟从串行端口读取一组值,我需要在某种类型的图形指示器中显示大多数值(我想可能是QprogressBar),该指示器显示范围和值。我正在从字符串解析的其他一些数据是日期和故障代码。此外,数据是分层的 我想使用Qt的model/view架构,因为我对MVC的东西感兴趣已经有一段时间了,但是我从来没有想过如何很好地实现它 到目前为止,我已经对QAbstractItemModel进行了子类化,在该模型中,我读取串行端口,并将从字符串解析的项包装到树数据结构中。我可以在QtreeView中查看所有数据,没有任何问题 我还开始将QAbstractItemView子类化,以使用所有图形指示器等构建自定义视图。这就是我被卡住的地方。在我看来,为了设计一个知道如何显示自定义模型的视图,视图需要确切地知道模型中所有数据的组织方式。这不是违背了模型/视图的目的吗?我测试模型时使用的QTreeView基本上只是在树结构中显示模型,但我不想这样做,因为数据的类型不尽相同。在您是否应该使用此体系结构时,数据的类型或向用户呈现数据的方式是否是一个决定因素?我一直认为用MVC风格设计总是更好的 在我看来,最好只是将QWidget子类化,然后从串行端口读入并更新子类中的所有子部件(图形指示器、标签等)。基本上,在一节课上做每件事 有没有人理解这个问题,可以向我解释我遗漏了什么或者为什么我不应该这样做。现在我有点困惑 非常感谢你的帮助 ***-这种情况下Qt模型/视图体系结构没有用处吗?Model view controller 这是不是Qt模型/视图体系结构没有用处的情况?,model-view-controller,qt,Model View Controller,Qt,我正在编写一个基于GUI的应用程序,每隔几秒钟从串行端口读取一组值,我需要在某种类型的图形指示器中显示大多数值(我想可能是QprogressBar),该指示器显示范围和值。我正在从字符串解析的其他一些数据是日期和故障代码。此外,数据是分层的 我想使用Qt的model/view架构,因为我对MVC的东西感兴趣已经有一段时间了,但是我从来没有想过如何很好地实现它 到目前为止,我已经对QAbstractItemModel进行了子类化,在该模型中,我读取串行端口,并将从字符串解析的项包装到树数据结构中。
我要说的是不一定-结束编辑 我不确定我是否完全理解你的问题,但让我试试 首先,让我们讨论一下MVC显示模式。这个模式是关于将程序分成单独的(希望是可测试的)部分,这些部分有自己的关注点
如果这还不够,请告诉我,我也许可以给你一个更好的答案。非常感谢。这很有帮助。让我澄清一下。假设我有10个电压、10个温度、日期/时间和3个状态代码,我从串行端口接收的字符串中解析。现在,我不想将数据放在树、列表、表格或饼图中。我nstead我想要有电压和温度的图形指示器,一个显示时间的标签,状态代码的标签,以及其他计算值的标签。这看起来像是一个自定义视图,需要知道模型的确切内容。所以,我想知道MVC在这种情况下是否仍然有用?这有意义吗?是的,MVC是这仍然是一个好模式。因为控制器层将整合您的读数(模型),以便向视图(仪表)演示。如果您将所有复杂的数据操作逻辑放入控制器层,那么您就只剩下更简单的模型层和视图层。控制器层可以进行全面的单元测试,因为它不需要连接到实时数据。当您开始使用时,这似乎有些过分。但一旦您开始理解它,它确实会带来很多好处有道理。酷…谢谢你的帮助。有了你的帮助和大量的阅读,我想我开始理解得更好了。