Как я могу сказать QListView изменить размер, чтобы соответствовать?

У меня есть QListView и я назначил модель и делегат. Я использую его для отображения изображений в горизонтальной полосе, как показано ниже

При пользовательском событии данные обновляются в модели. Одно из таких событий приводит к уменьшению ширины изображений, как показано ниже (# 4).

Я посылаю dataChanged по соответствующему индексу и перерисовываю только соответствующий виджет. Поскольку o, f это, есть промежуток между # 4 и # 5, который не заполняется. Я думаю, что должен быть способ обновить все видимые строки - но я не могу его найти.

Я попробовал следующее, но они не работают:

1. viewport()->updateGeometries()

2. viewport()->update()

3. I tried changing the width to see if it refreshes
    int curWidth = mp_mylistview->width();
    this->mp_mylistview->setFixedWidth(curWidth + 1);
    this->mp_mylistview->setFixedWidth(curWidth);

Какие-либо предложения?

Примечание. Приведенные выше изображения являются образцами для иллюстрации, а не оригиналами. Если вам нужен код, мне нужно отфильтровать конфиденциальную информацию перед публикацией.

Ответы на вопрос(1)

Ваш ответ на вопрос