Wxpython滚动条
Wxpython ScrollBar
我希望我的 wx.ListCtrl 的 ScrollBar 在列表中添加新项目并且 ScrollBar 变长时自动下降。
这就是我创建 wx.ListCtrl
的方式
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()
Select(self, idx, on=1)
Selects/deselects an item.
& EnsureVisible(n)
makes sure that the selected item is visible i.e. it scrolls the list control.
所以这会起作用:
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)
去-select项(i)
滚动条仅在需要时才可见。
我希望我的 wx.ListCtrl 的 ScrollBar 在列表中添加新项目并且 ScrollBar 变长时自动下降。 这就是我创建 wx.ListCtrl
的方式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()
Select(self, idx, on=1)
Selects/deselects an item.
&EnsureVisible(n)
makes sure that the selected item is visible i.e. it scrolls the list control.
所以这会起作用:
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)
去-select项(i)
滚动条仅在需要时才可见。