どこでも検索しましたが、これを解決するものは何も見つかりませんでした。QVBoxLayout を作成してから、データの Web 呼び出しを行います。データが戻ってきたら、この QVBoxLayout に 4 つのカスタム ウィジェットを追加します。
verticalLayout->addWidget(nsd);
最初の 4 つの場合、これはうまく機能します。すべてが必要に応じて表示されます。ただし、4 つのウィジェットのいずれかを削除してから、一番下にウィジェットを追加したいと考えています。削除は正常に機能します
verticalLayout->removeWidget(nsd);
delete nsd;
そのウィジェットが画面に描画されなくなったため、正常に動作することはわかっています。問題は、ウィジェットの追加が完全に機能していないことです。私は同じコードを呼び出します
verticalLayout->addWidget(nsd);
verticalLayout->count() を確認すると、4 つの項目があることがわかります。ウィジェットは、以前に追加されたものと同じ親ウィジェットで作成されます。新しいウィジェットのペイント イベントが呼び出されることはありません。さらに、画面に表示される 3 は、3 つのアイテムの間隔で表示されます。どこにも穴が開いているわけではありません。追加してから削除も試みましたが、同じ問題です。新しいアイテムが描画されることはなく、そのサイズが考慮されることもありません。