Python wx.listctrl 滚动位置

标签 python wxwidgets clistctrl

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

我想记录滚动位置,然后设置回它,但 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/

相关文章:

c++ - 如何处理 ListCtrl 标题中的右键单击事件?

mfc - CListCtrl:如何保持滚动位置?

python - 无法保留特定项目并忽略其余项目

c++ - Windows 上如何区分按钮和复选框消息?

C++/MFC : Handling multiple CListCtrl's headers HDN_ITEMCLICK events

erlang - 是否有必要为 wxErlang 小部件发明 ID?

binding - wxWidgets -- Bind() 到一个 resize 事件

python - 使用 Django Admin 中的 UserProfile 字段过滤用户列表

python - 从 mysql 表中一条一条地选择记录 - 不断写入更多记录的动态表

python - 如何读取 scapy 的 DNS 响应来获取解析域的 IP 地址?