Ich habe gerade ein QFormLayout eingebaut, indem ich verschiedene Texte einer Liste eintrage. Nun kommt es vor, dass sich diese Liste ändert. Dann lösche ich die alten Elemente aus dem QFormLayout und füge die neuen ein. Also so:
Das layout->itemAt(index) wird wohl wieder ein layout() haben, in dem andere QLayoutItems horizontal angeordnet sind. Du musst dich also durch diese Hierarchie hangeln, bis du ein widget() bekommst, dieses löschen, und alles bis nach unten ebenfalls. (QLayoutItem-Destruktor ist leer, und die Items im FormLayout sind nicht von QLayoutItem abgeleiet).
Schau dir aber auch dringend den Sourcecode an, wie die Items im FormLayout zusammen kommen.
Puh! Der Sourcecode is mir noch ein bissl zu Komplex. Evtl. in einem halben Jahr oder so. Trotzdem hast Du mir weiter geholfen. Man muss auch das dazugehörige Widget löschen. Ich hab's jetzt so gemacht: