2011-08-28 69 views
3

我想設置樹視圖窗口小部件的高度以容納N行,爲了做到這一點,我需要確定單行高度。確定樹視圖行的高度

我使用下面的代碼:

path = Gtk.TreePath().new_first() 
height = tree_view.get_cell_area(path, column).height 

創建樹部件後,填補了數據模型,並選擇第一行,高度設置爲0。我缺少什麼?

P.S .:相同的代碼將從「row_activated」信號處理程序運行時返回有效高度。

回答

1

也許這(從GTK網站閱讀):

「如果當前未顯示路徑指向一個路徑,y和height矩形的屬性將爲0所有細胞rects的總和不覆蓋整個樹;例如,行之間有額外的像素,返回的矩形等同於傳遞給gtk.CellRenderer.render()方法的cell_area,該方法僅在樹視圖實現時有效。

您也可以使用此代碼生效之前操作的顯示在GTK:

## force the refresh of the screen 
    while gtk.events_pending(): 
     gtk.main_iteration() 
+0

我已經調整大小移動到on_draw事件,顯示樹形視圖之後發生固定。 –

+0

謝謝你的精確度,很高興知道。 – Louis