2016-09-26 71 views
0

这个问题的单一视图约为QtQuick QML再利用不同的车型在QML

Each manin menu button will give sub menu options

正如你可以从图片中看到。我有一个主菜单,点击时每个主菜单显示不同的子菜单和框中的文本。

我正在使用Model和View来显示信息。

所以我有text data as a modelView is ListView

我知道如何使用一个单一的模式和重用了不同的看法。

但是如何做到这一点。我有很多数据,但是我点击的所有MainMenu项目的视图都很相似。

有没有像switch语句,我所有的数据存储在一个地方,并加载每个模型不同的MainMenu项目的任何选项点击了

谢谢大家!

+0

为什么不对所有具有相似视图的列表视图使用相同的委托? – dangsonbk

+0

http://doc.qt.io/qt-5/qabstractproxymodel.html#details Qabstractproxymodel将帮助你我猜 – Naidu

+1

制作多个模型,并在点击时指定你想要的视图。 – Velkan

回答

0

我认为你有两个选择

  1. 使用单一模型和基于哪个子菜单应该显示更改其内容。

  2. 使用模型列表,并让主菜单设置该列表的“当前索引”。

  3. 在接口对象使用的机型列表,内部和请求“当前子菜单模式”属性设置为正确的

  4. 使用一个包含所有子菜单项和过滤器代理的单一模式模型在它上面,减少列表为当前活动子菜单的项目

+0

我认为第二和第三可能是实用的。让我试试看。谢谢。 –

+0

如果您还想更改其他属性,则状态的使用可能是合适的,并与上面提出的任何解决方案混合使用。有了这个,你也可以为每个变化添加整齐的转换。 – derM