Использование QModelIndex в модели

139
26 июля 2019, 09:30

В QAbstractModel для доступа к элементам используются объекты типа QModelIndex, которые создаются исходя из строки и столбца, переданных в качестве аргументов. Понятное дело, что проще (и быстрее всего) такая модель будет работать с вектором (за счет произвольного доступа к элементам) и медленнее с контейнерами, которые его не имеют. Меня же интересует создание модели, работающей с map, в которой в качестве ключей, для простоты, используются int. Тогда ключи мы сможем использовать в качестве row. Но возник вопрос: а как модель взаимодействует со view? Всмысле, например, модель предоставляет доступ к 10 элементам в контейнере, но, к примеру в ней нет элемента в row 3, зато есть элемент в row 10 (нумерация от ноля), а на row 3 она возвращает невалидный индекс. Вью отобразит только 9 элементов (с 0 по 9, при этом 3 будет пустым), или отобразит все 10 элементов?

Также меня интересует поведение QPresistantModelIndex после удаления строки в модели. Если это была строка, в который находились данные, на которые указывал постоянный индекс, то он станет не валидным? А если это была другая строка, но после ее удаления данные, на которые указывает постоянный индекс, теперь находятся в другой строке, то на какие данные он будет указывать после этого?

READ ALSO
Как мне заблокировать WriteProcessMemory в мою программу?

Как мне заблокировать WriteProcessMemory в мою программу?

Как мне заблокировать WriteProcessMemory в мою программу? c++

148
Структурированный вывод в csv\xls

Структурированный вывод в csv\xls

есть модуль, как можно сделать вывод в csv\xls по типу как на скриншоте

121
Как изменить положение ползунка QSlider через connect?

Как изменить положение ползунка QSlider через connect?

Проблема состоит вот в чемНужно, чтобы при изменении объекта изменялось положение ползунка QSlider'а

147
Компиляция в Си и работами со строками

Компиляция в Си и работами со строками

Суть ошибки вот в чём, надо составить программу, которая на входе получает "базис счисления" и "последовательность цифр" Базис может принимать...

152