Название: использование QStandardItemModel в qml Отправлено: BlackSoul от Май 20, 2012, 14:38 Доброго времени суток всем.
возникла такая проблемка: в С++ создается модель QStandardItemModel. хочется отобразить её через qml. в qml я пишу: Код: property QtObject data_model: controller.getInstance( "main_window" ).model() // контоллер - это объект, который возвращает указатель на с++ объект этот код отлично отображает значение первой колонки модели, но что делать, если в моделе 2+ колонок - непонятно. в доках есть примеры с наследованием модели и указанием roleNames, но как-то не хочется постоянно наследоваться =( можно ли как-нибудь добраться из делегата к остальным колонкам? Название: Re: использование QStandardItemModel в qml Отправлено: Странник от Май 21, 2012, 02:15 когда я последний раз касался этого вопроса, другого способа не было. интересно, с чем связаны такие костыли при реализации.
Название: Re: использование QStandardItemModel в qml Отправлено: BlackSoul от Май 21, 2012, 07:59 костыли связаны с тем, что 95% всего кода написано на С++. на qml только отображение и интерфейсная логика
Название: Re: использование QStandardItemModel в qml Отправлено: Patrin Andrey от Май 21, 2012, 08:56 Как сделать такое для QStandardItemModel без использования roleNames х.з.
Можно хранить объекты в QList<QObject*> someName и экспортировать через setContextProperty("modelName", QVariant::fromValue(someName)) тогда в qml будет возможность обращаться к свойствам элементов по имени. Однако, чтобы обновить данные в такой модели, придётся снова делать setContextProperty. Не советую использовать этот метод для динамически меняющижся списков. Название: Re: использование QStandardItemModel в qml Отправлено: BlackSoul от Май 21, 2012, 09:10 тогда этот вариант тоже не подходит. т.к. следующая задача - синхронизация =(
Название: Re: использование QStandardItemModel в qml Отправлено: BlackSoul от Май 23, 2012, 08:52 Всё равно пришлось наследоваться =(
|