核心代码
# 自定义listview
class GamesListPanel(wx.Panel):
height = 0
itmeList = []
selectIndex = 0
itmeClickListener = None
getView = None
def __init__(self, *args, **kw):
super(GamesListPanel, self).__init__(*args, **kw)
self.Bind(wx.EVT_MOUSEWHEEL, self.onScroll) # 设置滚轴滑动事件
# 记录当前控件大小
self.rootSize = self.GetSize()
def onScroll(self, event):
"""
滚轴滑动事件
:param event:
:return:
"""
if event.WheelRotation > 0:
if self.GetPosition()[1] + 10 <= 0:
self.SetPosition((0, self.GetPosition()[1] + 10))
else:
if self.GetPosition()[1] - 10 > self.rootSize[1] - self.GetSize()[1] - 10:
self.SetPosition((0, self.GetPosition()[1] - 10))
def AddItemList(self, game_map_list):
"""
:param game_map_list:
:return:
"""
for game_map in game_map_list:
self.AppendItme(game_map)
def itmeClick(self, itme_id):
"""
控件被点击
:param itme_id:
:return:
"""
# self.itmeList[1].Destroy() # 删除
# self.itmeList.remove(self.itmeList[1])
self.itmeList[self.selectIndex].SetBackgroundColour('#FFFFFF')
self.selectIndex = itme_id
self.itmeList[self.selectIndex].SetBackgroundColour(