Wie kann ich QListView anweisen, die Größe anzupassen?

Ich habe eine QListView und habe ein Modell und einen Delegierten zugewiesen. Ich verwende es, um Bilder in einer horizontalen Leiste wie unten anzuzeigen

Bei einem Benutzerereignis werden die Daten im Modell aktualisiert. Ein solches Ereignis führt dazu, dass die Breite der Bilder wie folgt reduziert wird (# 4).

Ich stelle einen dataChanged auf den entsprechenden Index und nur das betroffene Widget wird neu gezeichnet. Aus diesem Grund gibt es eine Lücke zwischen # 4 und # 5, die nicht gefüllt wird. Ich denke, dass es eine Möglichkeit geben muss, alle sichtbaren Zeilen zu aktualisieren - aber ich kann es nicht finden.

Ich habe Folgendes versucht, aber sie funktionieren nicht:

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

Irgendwelche Vorschläge?

Hinweis: Die obigen Abbildungen dienen nur zur Veranschaulichung und sind keine Originale. Wenn Sie Code benötigen, muss ich vor dem Posten vertrauliche Informationen herausfiltern.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage