我想设置树视图小部件的高度以容纳N行,为了做到这一点,我需要识别单行高度。
我正在使用以下代码:
path = Gtk.TreePath().new_first()
height = tree_view.get_cell_area(path, column).height
创建树窗口小部件,填充数据模型,然后选择第一行后,高度设置为0.我缺少什么?
P.S。:从“row_activated”信号处理程序运行时,相同的代码将返回有效高度。
答案 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()