2010-08-18 26 views
1

當我嘗試向下滾動到我的TreeView的結尾,這是在ScrolledWindow中,它不滾動它應該但它之前的一行或兩行。無法滾動到TreeView的結尾PyGTK/GTK

我試了好幾種方法,它們都提供相同的行爲:

self.wTree.get_widget("tree_last_log").scroll_to_cell((self.number_results-1,)) 
# or 
self.wTree.get_widget("tree_last_log").set_cursor((self.number_results-1,)) 
# or 
adj = self.wTree.get_widget("scrolledwindow1").get_vadjustment() 
adj.set_value(adj.get_property('upper')) 
self.wTree.get_widget("scrolledwindow1").set_vadjustment(adj) 
# or 
self.wTree.get_widget("scrolledwindow1").emit('scroll-child', gtk.SCROLL_END, False) 

問題出在哪裏?

+1

你能告訴我們你的代碼嗎? – new123456 2010-08-18 21:04:05

回答

1

的C API文檔可能會有所幫助: http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#gtk-tree-view-scroll-to-cell

你可以看到有論據有那會誤事,這取決於如何PyGTK的默認他們。你可以嘗試明確指定所有的參數。

TreeView和TextView的一個訣竅是它們執行異步佈局,因此如果行高未被計算出來,調整上的「上」可能恰好爲零。

如果搞亂了調整,沒有必要設置它,但它應該是無害的。

'scroll-child'信號不是你想要的,這是一個用於綁定密鑰的鍵綁定信號。