1

5 ~ 6 列と多数の行を持つ gtk Treeview を表示するプログラムがあるため、横にスクロールバーがあります。

プログラムを終了して再起動した場合、閉じる前の最後の状態にあった位置と並べ替え順序が再度読み込まれることを確認したいと思います。

そう:

  • 選択したアイテムの位置をツリービューに保存するにはどうすればよいですか?
  • ソートされた順序を保存するにはどうすればよいですか?
  • プログラムを閉じるときと同じようにリストを表示するように、ツリービューを再度表示するときにそれらを元に戻すにはどうすればよいですか?

選択したアイテムの位置を保存する方法についてSOでいくつかの回答を見ましたが、同じ方法で再度表示する方法はありません。

やり方のコツなどありましたらよろしくお願いします。

4

1 に答える 1

2

私はPythonではなくCで答えているのではないかと心配しています。関数名を簡単に翻訳できるはずです。選択した行を取得して取得することができ、パスを保存するgtk_tree_view_get_cursorgtk_tree_view_set_cursor、データをリロードしたときに同じになるはずです。とを使用gtk_tree_view_get_columnsg_list_findて、選択されている列を見つけることができます。カーソルを設定すると、ウィンドウがスクロールして表示されます。これにより、ビューが保存時の状態にほぼ復元されます。より正確にしたい場合は、使用できる並べ替え順序を保存し、gtk_scrollable_get_vadjustmentで設定してみてくださいgtk_scrollable_get_hadjustmentgtk_tree_sortable_get_sort_column_idgtk_tree_sortable_set_sort_column_id

これで始められることを願っています。ツリー ビューのドキュメントに慣れるために時間を費やす価値は十分にあります。最初は少し圧倒されるかもしれませんが、長期的には努力する価値があります。

于 2013-08-05T10:00:15.963 に答える