インタラクティブなウィジェットの事実上無限のスクロール可能なリストを表示し、新しいデータが追加されたとき、またはユーザーがキャッシュされていない領域にスクロールしたときに、必要に応じてそれらを追加/削除する必要があります。
TreeView (ここで質問されているように) はオプションではありません。アイテムとして完全なウィジェットが必要なためです (複数のアクションなどを含む標準ウィジェットで構成されていますが、CellRenderer はこのためではありません)。
さらに悪いことに、ウィジェットの高さを事前に把握していないため (あまり変動はありませんが)、VBox を使用するとジャンプが発生する可能性があります。
スクロールバーを使用すると、リストのサイズが有限であるかのように感じるはずです (つまり、スクロールが終了した後にのみ更新されるため、スクロールボタンがマウスから離れることはありません)。ウィンドウのサイズを変更してウィンドウのレイアウトが更新されると、スクロール位置があまり変更しないでください (もちろん、フォーカスされたウィジェットがスクロールされない限り、フォーカスされたウィジェットはその場所にとどまるべきです...)。
これを行う最善の方法は何ですか?たぶん、新しいウィジェットを追加する必要があるときに信号を送るだけのライブラリでさえありますか?
それとも、ListView がこれをあまり厄介ではない方法で行うように強制できますか? (つまり、オフスクリーン バッファに描画し、CellRenderer を使用してそれをセルにコピーし、マウス/キーボード イベントを実際のウィジェットにリレーしますか?)