Russian Qt Forum

Qt => Model-View (MV) => Тема начата: BuRn от Июль 31, 2015, 14:49



Название: Биндинг на 1 элемент модели
Отправлено: BuRn от Июль 31, 2015, 14:49
Здравствуйте! Мб нубский вопрос, но как можно получить из модели ссылку на какую-то конкретную строку? Модель наследник от QAbstractListModel.


Название: Re: Биндинг на 1 элемент модели
Отправлено: Kurles от Июль 31, 2015, 14:52
Код
C++ (Qt)
QModelIndex QAbstractItemModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() ) const [pure virtual]
 
?


Название: Re: Биндинг на 1 элемент модели
Отправлено: BuRn от Июль 31, 2015, 15:05
Код
C++ (Qt)
QModelIndex QAbstractItemModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() ) const [pure virtual]
 
?
Наверное не правильно сформировал вопрос. Нужно этим пользоваться из qml. Я сделал функцию, которая возвращает мне данные по индексу, но данные копируются и соответственно когда модель обновляется, биндинги не срабатывают. Вот хотелось бы как-то привязаться к строке


Название: Re: Биндинг на 1 элемент модели
Отправлено: BuRn от Август 01, 2015, 01:55
Вообщем реализовал наверное костыльно, как по другому не знаю и возможно ли вообще тоже ХЗ. В классе, в котором хранится экземпляр модели, подписался на сигнал dataChanged, в класс добавил свойство qml-ное, номер индекса который меня интересут. В обработчике на сигнал dataChanged проверяю изменился ли мои данные по qml-оному индексу, если изменились кидаю сигнал о том, что данные по текущему индексу обновились. Возможно можно как-то иначе, но как я не знаю


Название: Re: Биндинг на 1 элемент модели
Отправлено: Fregloin от Август 03, 2015, 10:29
ну вообще то у QModelIndex есть метод data, который возвращает данные по ролям. Я через него всегда и получаю интересующие данные из модели для конкретного индекса.


Название: Re: Биндинг на 1 элемент модели
Отправлено: BuRn от Август 03, 2015, 12:35
ну вообще то у QModelIndex есть метод data, который возвращает данные по ролям. Я через него всегда и получаю интересующие данные из модели для конкретного индекса.
За меня это делает qml, которому я просто указываю роль, а она мне данные по этой роли. Но роли index такой нет, это стандартная хрень всех моделей на сколько я понял. Вопрос почему он не обновляется