Jak powiedzieć, aby QListView zmienił rozmiar, aby pasował?

Mam QListView i przypisałem model i delegata. Używam go do wyświetlania obrazów na poziomym pasku, jak poniżej

Podczas zdarzenia użytkownika dane są aktualizowane w modelu. Jedno takie zdarzenie powoduje zmniejszenie szerokości obrazów, jak poniżej (# 4).

Emituję dataChanged na odpowiednim indeksie i tylko dany widget jest przemalowywany. Z tego powodu istnieje przerwa między # 4 a # 5, która nie zostaje wypełniona. Myślę, że musi istnieć sposób na odświeżenie wszystkich widocznych wierszy - ale nie mogę go znaleźć.

Próbowałem, ale nie działają:

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);

Jakieś sugestie?

Uwaga: Powyższe obrazy są przykładowymi ilustracjami, a nie oryginałami. Jeśli potrzebujesz kodu, będę musiał odfiltrować poufne informacje przed wysłaniem go.

questionAnswers(1)

yourAnswerToTheQuestion