python小白请教如何获取ImageList的各个图片绑定事件
我想通过ImageList来制作电子相册预览,通过点击ImageList中的图片弹出相应figure来展示它们,但一直不知道怎么让各个事件和各个图片对应起来,还有因为这份代码是在别人的基础上修改的,所以想请教一下有没有不用data字典来给图片做说明又能根据文件夹中图片的个数充分初始化ImageList,这里的代码必须在 for x in range()里手动输入参数来初始化
程序代码:import wx
from PIL import Image
import matplotlib.pyplot as plt
import os
import tkinter
import re
import pygame
data = {0:"Zero",1:"first",2:"second",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine",10:"ten",11:"eleven"}
#字典
#h = 0
class MyFrame(wx.Frame):
def __init__(self,parent=None):
#h = 1
super(MyFrame, self).__init__(parent, -1, "带位图的列表", size=(1000, 1000))#super可以调用父类以及父类的方法
il = wx.ImageList(150,300,True) #创建图像列表
for f in os.listdir(r'E:\\photo2'):
#h = h + 1
img = wx.Image(r"E:\photo2"+"\\"+f,wx.BITMAP_TYPE_BMP)
img.Rescale(150,300)
bmp = img.ConvertToBitmap()
il.Add(bmp)
#s = il.GetBitmap(5)
#print(s)
self.list = wx.ListCtrl(self,-1,style=wx.LC_ICON|wx.LC_AUTOARRANGE)
self.list.AssignImageList(il,wx.IMAGE_LIST_NORMAL)
#h = self.list.InsertImageItem()
#调用InsertImageStringItem()方法出入列表项,并为图标设置说明字符串
#self.Bind(wx.EVT_LIST_ITEM_SELECTED, plt.show,il[])
for x in range(11):
self.list.InsertImageStringItem(x,data[x],x)
#self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.courseListSelectFunc, self.list)
#self.Bind(wx.EVT_LIST_ITEM_SELECTED,plt.show , self.list)
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
#AssignImageList和InsertImageStringItem去创建位图列表现在程序运行的结果如下:之前尝试添加过事件绑定不管点击哪个图都只能展示最后一张图,因此请教各位大佬对应绑定事件的办法









,人狠话不多
