空で始まるQScrollAreaウィジェットがあります。
QGridLayout を使用した垂直レイアウトと、上部に保持するための垂直スペーサーがあり、スクロール領域全体に広がるのを防ぎます。
プログラムの他の場所には QTextEdit があり、変更されると、内容が「種」要素をスキャンされ、QGridLayout に追加されます。削除された種要素もすべて削除されます。このビットは機能します。
垂直スクロールバーを常にオンにして、表示されたときに他のものの上に置かないようにしています。スクロール バーはスクロール ボックスよりも大きいことに注意してください。
これが問題です。スクロール領域はプリセットされているようで、変更できません。QGridLayout にさらに行を追加しても、スクロール領域のサイズは大きくなりません。
代わりに、同じサイズを維持し、QGridLayout を圧迫して (最初は) 見苦しくします。
さらに追加すると、使用できなくなります。
繰り返しますが、スクロール バーは前の画像と同じサイズのままです。最初の 2 つの画像は Qt Designer のもので、次の 3 つは実行中のプログラムのものです。
QScrollArea が大きくなるようにウィンドウのサイズを変更すると、次のように表示されます。
スクロール領域内に適切にサイズ変更されていないレイアウトがあることを示しています。
私の質問は; QGridLayout に追加および削除するときに、ウィジェットのスクロール可能な領域を動的にサイズ変更するにはどうすればよいですか?