我试图在一个操作之后的初始点滚动一个列表,该操作的结果是删除所有项目并重新填充。
我想记录滚动位置,然后设置回它,但 GetScrollPos
出于某种原因总是返回 0。
我一直在查看所有 ListCtrl
方法,但似乎找不到方法,并且还注意到 GetScrollPos
不存在,但它也没有引发异常。
最佳答案
我通过计算底部项目并在其上方的项目上使用 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))
关于Python wx.listctrl 滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828481/