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.