2016-09-26 3 views
0

Этот вопрос о QtQuick QMLПовторное использование одного вида для различных моделей в QML

Each manin menu button will give sub menu options

Как видно из картинки. У меня есть главное меню, и каждое главное меню при нажатии показывает разные подменю с текстом внутри поля.

Я использую Model и View для отображения информации.

Так я имею text data as a model и View is ListView

Я знаю об использовании единой модели и повторное использование для различных представлений.

Но как это сделать. У меня много данных, но мой взгляд похож на все элементы MainMenu, которые я нажимаю.

Есть ли какие-либо варианты, как переключатель заявление, где я хранить все данные в одном месте и загружать каждую модель для различного MainMenu элемента Нажали

Спасибо всем !!

+0

Почему вы не используете тот же делегат для всех списков, имеющих похожий вид? – dangsonbk

+0

http://doc.qt.io/qt-5/qabstractproxymodel.html#details Qabstractproxymodel поможет вам угадать – Naidu

+1

Создайте несколько моделей и назначьте тот, который вы хотите просмотреть, при нажатии. – Velkan

ответ

0

Я думаю, что у вас есть несколько вариантов

  1. Используйте одну модель и изменить ее содержание, на основании которых вложенное меню следует показывать.

  2. Используйте список моделей и позвольте главному меню установить «текущий индекс» этого списка.

  3. Используйте список моделей внутренне в объекте интерфейса и установить свойство «текущая модель подменю» к правильному по запросу

  4. Используйте одну модель, которая содержит все элементы подменю и фильтр прокси модель сверху, которая сводит список к элементам текущего активного подменю

+0

Я думаю, что 2-й и 3-й могут быть практичными. позвольте мне попробовать. Благодарю. –

+0

Если вы также хотите изменить другие свойства, использование состояний может быть уместным, смешанным с любым из предложенных выше решений. С этим вы также можете добавить опрятные переходы для каждого изменения. – derM