Rhythmbox用のPythonプラグインを開発しています-これには、GtkIconViewである子を持つGtkScrolledWindowが含まれています。IconViewは、Gtk.TreeModelから供給されます。
次のようになります。
現在-そしてやや非効率的ですが、すべてのアイコンはツリーモデルのすべての行に描画されます-各アイコンはファイルからのGdkPixbufです。数千の行がある場合、アイコンビュー全体がすべての画像アイコンで完全に更新されるまでにかなりの時間がかかることがあります。
私が達成しようとしているのは、現在の描画領域にあるアイコンのみを更新することです。ユーザーがスクロールしてスクロールバーを離す(またはキーボードを介してナビゲートする)と、新しい描画領域のアイコンが関連する画像で更新されます。
注意-この時点でツリーモデルは完全に入力されています-アイコンのみがロードされていません。
これは実際には私の専門分野ではありません。上記を達成するために使用する必要のある最善のアプローチの指針を探しています。
具体的には、どのGtk + 3描画領域信号(または複数の信号)を公開して(Gtk.ScrolledWindow / Gtk.IconView?)、どのアイコンを更新する必要があるかを計算するPythonコードを記述できますか?