2013-07-30 26 views
1

我有一個程序顯示一個GTK Treeview 5-6列和大量的行,因此側面有一個滾動條。如何保存gtk treeview(排序順序和位置)?

我想確保如果您退出程序並重新啓動它,位於關閉前最後一個狀態的位置和排序順序將再次加載。

所以:

  • 如何存放在樹視圖中選擇的項目位置?
  • 如何存儲排序順序?
  • 當我們再次顯示樹形視圖時,如何將它們返回,以便它能夠像關閉程序時那樣顯示列表?

我已經看到了關於如何存儲所選項目位置的一些答案,但沒有看到如何以相同的方式再次顯示它。

如果您有關於如何做到這一點的任何提示,我將不勝感激。

回答

2

恐怕我用C而不是Python來回答,因爲這就是我所熟悉的。您應該能夠輕鬆地翻譯函數名稱。您可以使用gtk_tree_view_get_cursorgtk_tree_view_set_cursor獲取和檢索選定的行如果您存儲路徑,則在重新加載數據時應該保持不變。您可以使用gtk_tree_view_get_columnsg_list_find來查找選擇了哪一列。設置光標將滾動窗口,使其可見。這將使視圖大致恢復到保存時的狀態。如果你想更精確嘗試尋找gtk_scrollable_get_vadjustmentgtk_scrollable_get_hadjustment要存儲,您可以使用gtk_tree_sortable_get_sort_column_idgtk_tree_sortable_set_sort_column_id

設置它,我希望讓你開始,這是值得花一些時間與tree view documentation熟悉自己的排序順序。起初我可能有點不知所措,但從長遠來看,這是值得的。