首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wxpython ScrollBar

Wxpython ScrollBar
EN

Stack Overflow用户
提问于 2020-01-11 13:51:29
回答 1查看 505关注 0票数 0

我希望当一个新项目被添加到列表中,并且ScrollBar变得更长时,my wx.ListCtrl的ScrollBar会自动下降。我就是这样创建一个wx.ListCtrl的

代码语言:javascript
复制
import wx

app = wx.App()
frame = wx.Frame(None, -1, title='2', pos=(0, 0), size=(500, 500))
frame.Show(True)
app.SetTopWindow(frame)
message_list = wx.ListCtrl(frame, size=(200, 200), pos=(0, 0),
                       style=wx.LC_REPORT | wx.BORDER_SUNKEN)
message_list.InsertColumn(0, 'Chat: ', width=150)
for i in range(15):
   message_list.InsertItem(i, "name" + str(i))

### I want that after this loop, the scroll bar will be at the end of the list (Name 14)

app.MainLoop()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-11 15:42:36

选择(self,idx,on=1)

选择/取消选择项。

& EnsureVisible(n)确保所选项是可见的,即它滚动列表控件。

所以这是可行的:

代码语言:javascript
复制
import wx

app = wx.App()
frame = wx.Frame(None, -1, title='2', pos=(0, 0), size=(500, 500))
frame.Show(True)
app.SetTopWindow(frame)
message_list = wx.ListCtrl(frame, size=(200, 200), pos=(0, 0),
                            style=wx.LC_REPORT | wx.BORDER_SUNKEN)
message_list.InsertColumn(0, 'Chat: ', width=150)
for i in range(30):
    message_list.InsertItem(i, "name" + str(i))

msg_endpoint = message_list.GetItemCount() - 1
message_list.Select(msg_endpoint,1)    #Select last item
message_list.EnsureVisible(msg_endpoint)
### I want that after this loop, the scroll bar will be at the end of the list (Name 14)

app.MainLoop()

注意:使用message_list.Select(i,0)取消选择项目(I)

只有在需要时才会看到滚动条。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59695022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档