确定TreeView行的高度

时间:2011-08-28 14:05:57

标签: python gtk pygtk

我想设置树视图小部件的高度以容纳N行,为了做到这一点,我需要识别单行高度。

我正在使用以下代码:

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

创建树窗口小部件,填充数据模型,然后选择第一行后,高度设置为0.我缺少什么?

P.S。:从“row_activated”信号处理程序运行时,相同的代码将返回有效高度。

1 个答案:

答案 0 :(得分:2)

可能这样:(从gtk网站上读取):

“如果路径指向当前未显示的路径,则矩形的y和height属性将为0.所有单元格的总和不会覆盖整个树;例如,行之间会有额外的像素。返回的矩形等效于传递给gtk.CellRenderer.render()方法的cell_area。此方法仅在实现树视图时有效。“

您还可以使用以下代码强制在gtk中显示待处理操作:

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