滚动窗格中有大量图像的性能问题

问题描述

我想创建一个包含数百张图像的滚动窗格。我的代码运行正常,直到 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 (将#修改为@)