问题描述
我想创建一个包含数百张图像的滚动窗格。我的代码运行正常,直到 200 张图像,但对于大量图像,开始变得非常缓慢。在 Core i9 上,这段代码(只是我实际操作的精简版)需要将近 20 秒才能显示出来。知道我可以如何改进吗?
import wx
import wx.lib.scrolledpanel as scrolled
class ImgPanel(scrolled.ScrolledPanel):
def __init__(self,parent):
super(ImgPanel,self).__init__(parent,style = wx.SUNKEN_BORDER)
self.imgSizer = wx.BoxSizer(wx.VERTICAL)
for i in range(500):
image = wx.Bitmap('chrome.png')
bitmap=wx.StaticBitmap(parent=self)
bitmap.SetBitmap(image)
self.imgSizer.Add(bitmap,1,wx.EXPAND)
self.SetSizer(self.imgSizer)
self.SetAutoLayout(1)
self.SetupScrolling()
self.IsRectReady = False
self.newRectPara=[0,0]
class MyFrame(wx.Frame):
def __init__(self,parent,title,width,height):
super(MyFrame,title=title,size=(width,height))
self.imgPanel = ImgPanel(self)
self.frameSizer = wx.BoxSizer(wx.HORIZONTAL)
self.frameSizer.Add(self.imgPanel,wx.EXPAND)
self.SetAutoLayout(True)
self.SetSizer(self.frameSizer)
self.Layout()
self.Centre()
self.Show(True)
def main():
app = wx.App()
frame = MyFrame(None,"test",1200,800)
app.SetTopWindow(frame)
app.MainLoop()
if "__main__" == __name__ :
main()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)