如何设置要在Qt中显示的混合类型列表?

时间:2019-06-12 18:35:10

标签: qt delegates class-diagram model-view

我打算用Qt编写一个客户端应用程序,该应用程序必须完全通过通过REST连接接收的数据填充其用户界面。现在,我们可以假设数据来自atat的JSON。员工需要响应服务器发送事件并更新其状态并相应显示。

除了“入门”页面之外,我在Qt方面的经验很少,而且我对如何开始一无所知。但是,我已经准备了一个类似于类图的图像来帮助我解释一下: my class diagram

我知道无论如何这都不是常规的UML,但是我认为它是精确和可理解的,足以说明问题。 在传统的C ++中,我会为黄色类和接口建模。我将使用一个静态的ColourManager实例来处理所有连接,并且,如果需要,可以吐出一组IColour对象。 因此,根据对Qt的了解,我了解到 Manager 在Qt中将称为 Model

但是,当我考虑视图部分时,就会出现问题。每个watercolor和Chalk对象都有一个插槽(?)来侦听Server-Sent-Events,该事件指示数据的更改以及自行发送更改的方法。

例如,水彩对象可以使用toggleDiluted方法(巧合)切换私有_isDiluted属性,然后使用静态ColourManager将其新状态保存到网络。

我不知道如何更好地显示它,所以我在类中添加了绿色的qml-component部件。在这一部分中,我想设计组件的显示。目前,这可能非常简单,例如一个名为“水彩”的名称为“文本”和“粉笔”的彩色矩形的切换按钮。

我知道该怎么做。我迷路的部分是何时需要连接。我已经读过有关models in the Qt doc的信息,并且我了解当我具有相同类型的统一列表时,可以使用Object Model重用类的qml组件部分

因此,我的问题是:

  1. 到目前为止,我的理解和建模是否正确?
  2. 这是一种明智的启动方式吗?
  3. 如何使用多个代理在ListView中显示,以便根据要显示的对象来选择有用的可视化对象?

0 个答案:

没有答案