Python wx.listctrl滚动位置

时间:2013-09-16 12:47:50

标签: python wxwidgets clistctrl

我试图在一个动作之后在初始点滚动一个列表,其结果是删除所有项目和重新填充。

我希望记录滚动位置然后重新设置,但GetScrollPos由于某种原因总是返回0。

我一直在查看所有ListCtrl方法,但似乎找不到方法,也注意到GetScrollPos不存在,但它也没有引发异常。

1 个答案:

答案 0 :(得分:7)

我通过计算底部项目并在其上方使用EnsureVisible来实现它,因为EnsureVisible总是会在目标项目下面显示额外项目(如果有的话)。

效果很好而且不需要GetScrollPos,因为我非常确定没有SetScrollPos

list_total  = list.GetItemCount()
list_top    = list.GetTopItem()
list_pp     = list.GetCountPerPage()
list_bottom = min(list_top + list_pp, list_total - 1)
list.EnsureVisible((list_bottom - 1))